2012-06-16 4 views
4

저는 Microsoft의 CSharpCodeProvider를 사용하여 코드를 동적으로 만들고 실행합니다.C# 코드를 메모리에 컴파일하는 방법은 무엇입니까?

지금은 임시 폴더 안에있는 dll에 어셈블리를 만듭니다.

하드 드라이브에 쓰기 작업없이 메모리에 어셈블리를 만들고 싶습니다.

어떻게하면됩니까?

+0

중복 - http://stackoverflow.com/q/826398/763026 –

+1

중복되지 않습니다. 제공된 스레드는 CSharpCodeProvider 사용 방법과 관련이 있습니다. 임시 어셈블리를 생성하지 않고이 DLL을 사용하는 방법을 묻습니다. –

+0

저는이 컴파일을 사용하여 DLL을 메모리에만 저장하는 것을 알고 있습니까? –

답변

10

나는 단지 CompilerParameters.GenerateInMemory을 찾고 있다고 생각합니다.

컴파일 할 때 전달하는 컴파일러 매개 변수를 true로 설정하면 파일이 생성되지 않습니다.

+0

code-dom이 csc.exe – usr

+0

@usr을 호출하기 때문에 임시 디스크 쓰기를 수행하지만 이것은 구현 세부 사항입니다. 나는 미래에 그렇게하지 않을 것이라고 생각합니다. 나는 오늘날 모든 상황에서 그 주장의 진실을 100 % 확신하지 못한다. –

+0

현재 사용할 수있는 .NET 플랫폼 (AFAIK)에는 메모리 내장 컴파일러 기술이 없습니다. 마지막으로 .NET 2.0 일 동안 확인했습니다. – usr

관련 문제