如何创建x64 DynamicAssembly

时间:2010-06-23 14:40:05

标签: c# 64-bit reflection.emit

我目前正在将我的项目从x86移植到x64。它是一个插件,绝对必须作为x64运行,因为主机也是如此。

部分应用程序创建了一个动态程序集:

AppDomain.CurrentDomain.DefineDynamicAssembly(...)

然后将其保存到磁盘。我用dumpbin /headers检查了它,它在x86中!

如何从代码中强制程序集为x64?

1 个答案:

答案 0 :(得分:3)

这是完全正常的,包含IL代码的程序集始终打包在具有32位标头的DLL中。您可以使用Project + Properties,Build选项卡,Platform Target = Any CPU获得相同的内容。

请记住:纯.NET程序集只包含数据,没有代码。 JIT编译器是否将IL转换为32位或64位代码取决于启动EXE的位数。