1

我正在使用Assembly.Load(),然后EntryPoint.Invoke(null, null)为了在内存中运行 .NET 程序集。这有效,除非主机进程是 x86 并且执行的程序集是 AnyCPU。在这种情况下,执行的程序集会在 x86 上下文中执行,因此会发生故障。

有没有办法在 AnyCPU 上下文中执行 Assemly 对象,即使主机进程是 x86?

4

1 回答 1

1

在 AnyCPU 上下文中执行程序集并没有真正的意义。如果加载到 64 位进程中,针对 AnyCPU 的程序集将 JIT 到 64 位,对于 32 位进程,则将 JIT 到 32 位。如果这个程序集依赖于 64 位的主机进程,那么它的平台目标应该是 x64,而不是任何 CPU。

于 2012-02-10T20:10:52.590 回答