摆脱加载的程序集

时间:2013-05-22 20:54:49

标签: c# process runtime assemblies

我使用.NET集成编译器制作了一个脚本工具。

很快,在运行时它会将源文件编译为程序集,创建程序集中定义的对象并启动对象的方法。

这是代码(大大简化):

CodeDomProvider provider = new CSharpCodeProvider();
CompilerParameters cp = new CompilerParameters();
cp.GenerateExecutable = false;
cp.GenerateInMemory = true;
// ...
CompilerResults res = provider.CompileAssemblyFromSource(cp, source);
// ...
return res.CompiledAssembly;

在工具运行期间可能会多次发生这种情况 到目前为止一切顺利,它运作良好。

问题:
编译后的程序集被加载到我的进程中,调试器告诉我:

'ScriptTool.exe' (Managed): Loaded 'v7wyfy7w', No symbols loaded.

每次运行脚本时都会发生这种情况。所以过了一段时间,有很多程序集加载到进程中,造成内存损失。

现在的问题是:
是否可以卸载组件?

0 个答案:

没有答案