我先使用Assembly.Load(),然后使用EntryPoint.Invoke(null, null),以便在内存中运行.NET程序集。除非宿主进程是x86,而执行的程序集是AnyCPU,否则这种方法是有效的。在这种情况下,执行的程序集在x86上下文中执行,因此出现故障。
有没有办法在AnyCPU上下文中执行Assemly对象,即使宿主进程是x86?
发布于 2012-02-11 04:10:53
在AnyCPU上下文中执行程序集没有实际意义。如果将以AnyCPU为目标的程序集加载到64位进程中,则该程序集的JIT将为64位,如果加载到32位进程中,则将JIT设置为32位。如果这个程序集依赖于64位主机进程,那么它的平台目标应该是x64,而不是任何CPU。
https://stackoverflow.com/questions/9233855
复制相似问题