编译在内存中的Assembly对象为bytes []

时间:2011-08-10 14:42:43

标签: .net-4.0

我在内存中生成汇编对象,需要获取字节表示。 我已经遵循了代码,但今天我需要它在内存中完成

var assembly = GetMyAssembly();
var binary = File.ReadAllBytes(assembly.Location);

我查看了Assembly builder方法和Assembly方法,但找不到合适的方法。

感谢。

2 个答案:

答案 0 :(得分:0)

我不确定直接保存到byte[],但您可以使用AssemblyBuilder.Save保存动态程序集(使用AssemblyBuilder定义),然后使用{{{ 1}}。您可以在临时目录中创建它,并在完成后将其删除。

希望有所帮助。

答案 1 :(得分:-1)

这在运行时是不可能的。

唯一可行的解​​决方案是使用WinDbg和SOS转储程序集。但话说回来,我做同样事情的所有尝试都失败了。