将动态程序集保存到文件

Save a dynamic assembly to file

我已经尝试了几个小时来寻找一种方法来保存动态程序集(我可以访问该程序集 - 它的类型为 'Assembly')。另外,我无权访问程序集的字节数组。我也查看了 Whosebug,但此搜索没有产生成功的结果。

澄清一下:

// the assembly (this is an example)
Assembly asm = SomeMethod(); // returns a valid result
// now how would I go about saving to disk?

是否可以保存Assembly类型的程序集?
如果是这样,我将如何着手完成这项工作?

提前致谢。

对于评论 "possible duplicate" 的人: 这是重复的,但有正当理由:其他线程上的答案不起作用 - 这是试图用低质量的答案恢复主题。

This 将不起作用,因为答案不会实例化 "results",因此我无法复制解决方案。

AssemblyBuilder.Save() 将不起作用,因为据说 C# "cannot cast type AssemblyBuilder to type Assembly",即使此处的其他一些答案将此作为解决方案。

您尝试过使用 Mono.Cecil 项目吗? 它提供了多种 API 来注入 IL and/or 编辑代码,您还可以用它保存程序集。我自己在一个项目中使用过它,并且从你的问题中得到了 AFAIK,它也可以帮助你解决你的问题。