我在反思方面遇到了一些问题:
在我的代码中,我从数据库动态加载c#代码,编译它并从该库加载一些对象。一切正常,但CompileAssemblyFromSource编译的速度非常慢(大约60秒)。
我尝试使用Visual Studio 2015编译相同的c#代码,构建阶段花费不到1秒......
怎么了? CompileAssemblyFromSource是如此之慢?
答案 0 :(得分:0)
无论GenerateInMemory是否设置为true,都会在TEMP目录中生成代码。通过将CompilerParameters中的Tempfiles属性设置为不存在的驱动器/目录,这不会发生:
parameters.TempFiles = new TempFileCollection(@"B:\NonExistingDirectory");