1

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

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

AppDomain.CurrentDomain.DefineDynamicAssembly(...)

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

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

4

1 回答 1

4

这是完全正常的,包含 IL 代码的程序集总是打包在具有 32 位标头的 DLL 中。与 Project + Properties、Build 选项卡、Platform Target = Any CPU 相同。

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

于 2010-06-23T16:29:16.477 回答