6
런타임시 C# 코드를 컴파일하는 시스템이 있습니다. 생성 된 어셈블리를 시스템 자체에 연결하고 싶습니다. 여기 내가 사용하고 몇 가지 예제 코드는 다음과 같습니다런타임에 C# 코드 확장을 컴파일하십시오.
내가 뭘하고 싶은 것은 새로 컴파일 된 확장 컴파일러 프로그램에서 라이브러리 루틴을 사용할 수 있도록,뿐만 아니라 주요 컴파일러 프로그램에 대한 참조를 추가도CSharpCodeProvider provider = new CSharpCodeProvider(new Dictionary<String, String> { { "CompilerVersion", "v3.5" } });
CompilerParameters compilerparams = new CompilerParameters();
compilerparams.GenerateExecutable = false;
compilerparams.GenerateInMemory = true;
foreach (string name in linkedreferences)
compilerparams.ReferencedAssemblies.Add(name + ".dll");
Assembly result = provider.CompileAssemblyFromFile(compilerparams, filename);
.
Assembly entryasm = Assembly.GetEntryAssembly();
그럼 궁금한 점은 : 컴파일 된 어셈블리 결과에서 entryasm에 대한 참조를 어떻게 추가합니까?
정확히 그랬습니다! 감사. – Whiteknight