如何在运行时在当前程序集中编译动态代码?
How can I compile dynamic code at runtime in the current assembly?
我使用VBCodeProvider
编译代码,但是它生成了一个新的程序集,而且我还需要添加对我需要使用的程序集的所有引用。
有没有办法在当前程序集中编译代码?
VBCodeProvider 已过时。使用罗斯林。但这仍然不允许您在运行时修改现有程序集,因为这是不可能的。
编译并加载新程序集。您可以使用反射自动将引用列表添加到 Roslyn 编译。
您无法调整当前程序集。
几年前,我写了一篇关于动态编译的文章:http://emoreau.com/Entries/Articles/2011/07/Compiling-code-on-the-fly.aspx
顺便说一句,Roslyn 仅在您使用 VS2015 时可用(除非您使用的是适用于 VS2013 的 CTP,但它对于其他任何测试都不是一个好主意)。
我使用VBCodeProvider
编译代码,但是它生成了一个新的程序集,而且我还需要添加对我需要使用的程序集的所有引用。
有没有办法在当前程序集中编译代码?
VBCodeProvider 已过时。使用罗斯林。但这仍然不允许您在运行时修改现有程序集,因为这是不可能的。
编译并加载新程序集。您可以使用反射自动将引用列表添加到 Roslyn 编译。
您无法调整当前程序集。
几年前,我写了一篇关于动态编译的文章:http://emoreau.com/Entries/Articles/2011/07/Compiling-code-on-the-fly.aspx
顺便说一句,Roslyn 仅在您使用 VS2015 时可用(除非您使用的是适用于 VS2013 的 CTP,但它对于其他任何测试都不是一个好主意)。