1

VBCodeProvider用来编译代码,但它会生成一个新的程序集,而且我需要添加对我需要使用的程序集的所有引用。

有没有办法在当前程序集中编译代码?

4

2 回答 2

2

VBCodeProvider 已过时。使用罗斯林。但这仍然不允许您在运行时修改现有程序集,因为这是不可能的。

编译并加载一个新程序集。您可以使用反射自动将引用列表添加到 Roslyn 编译。

于 2015-09-21T14:02:59.340 回答
1

您不能对当前装配进行回火。

几年前,我写了一篇关于动态编译的文章: http: //emoreau.com/Entries/Articles/2011/07/Compiling-code-on-the-fly.aspx

顺便说一句,Roslyn 仅在您使用 VS2015 时可用(除非您使用可用于 VS2013 的 CTP,但对于其他任何测试都不是一个好主意)。

于 2015-09-21T14:21:04.433 回答