如何添加对动态程序集的引用以编译另一个程序集?

时间:2014-07-30 14:18:28

标签: c# .net compiler-construction .net-assembly

如何添加动态加载的程序集作为CompilerParameters.RerencedAssemblies集合的引用?我知道我可以通过Assembly.Location添加引用,但我动态加载的程序集没有位置。它虽然在AppDomain中。但我找不到将其添加为引用程序集的方法。将其存储在GAC中是不可取的。

我尝试将其序列化为磁盘,然后将其添加为参考,但这种情况很糟糕。 (序列化程序集不是有效的dll。)

有什么想法? (.Net 4.5)

顺便说一句,这是this question的副本,但没有答案。而且它已经很老了,所以这就是我再次问它的原因。

1 个答案:

答案 0 :(得分:1)

也许你需要AssemblyBuilder

如果您的动态程序集是使用AssemblyBuilder Here is what MSDN says构建的,那么就动态程序集而言。

  

使用AssemblyBuilder.Save方法保存可持久的动态程序集。 Save方法指定应将程序集写入的文件的名称。

您可以使用Save method将其保存到文件,然后使用装配位置添加参考。