C#在内存中汇编到DLL文件

时间:2010-10-01 05:56:32

标签: c# reflection

我正在尝试使用System.Reflection.Emit.AssemblyBuilder将程序集保存到文件中,但它无法正常工作。

我有一个变量来保存一个在加载和运行时运行完美的程序集。

System.Reflection.Assembly dll = GetAssembly(resource);

是否有人可以帮助我将此“dll”保存到“name.dll”这样的文件中?

2 个答案:

答案 0 :(得分:2)

在评论中,您已经说过私有GetAssembly方法从资源文件中提取数据并从中构建程序集。假设从资源文件获取的“字节”实际上只是程序集的字节,获取文件的最简单方法是从资源文件中获取相同的字节,并调用File.WriteAllBytes。您不需要通过Assembly对象,这样做会使工作更难。

答案 1 :(得分:0)

您的AssemblyBuilderAccess标记必须为RunAndSaveSave才能生效。