【发布时间】:2015-09-20 14:42:39
【问题描述】:
我使用VBCodeProvider 编译代码,但它会生成一个新程序集,而且我需要添加对我需要使用的程序集的所有引用。
有没有办法在当前程序集中编译代码?
【问题讨论】:
-
不,没有。你想做什么?你为什么用 C# 和 VB.NET 标记你的问题?
-
@Luaan:我需要多次编译代码,我不想每次都创建新程序集并添加所有引用,我只想在可能的情况下在当前程序集中编译。因为我可以接受 C# 和 VB.Net 的答案。
-
如果它对 ASP.NET 来说已经足够好了,为什么对你来说还不够好呢?为什么你会关心“每次都添加所有引用”?当你这样做时,你想象会发生什么?
-
@Luaan:如果没有办法就好了。当然最好不要每次都生成新的程序集,我只是想知道。
-
“思考”在考虑性能影响时不会让您走得太远。我花了 5 分钟来编写一个测试项目,与编译本身相比,创建数千个单独的程序集需要很少的内存。一万个程序集占用不到 50 MiB(很难隔离 所有 不相关的内存使用,它可能远小于 50 MiB)。如果这对您来说太多了,您可以在构建新程序集时使用旧程序集并替换它,而不是一次将多个动态程序集保存在内存中,但在此之前可能还有很多需要改进的地方。
标签: .net vb.net dynamic-compilation vbcodeprovider