不同的平台AppDomains在一个.Net流程中?

时间:2010-11-15 16:14:36

标签: .net dll x86 64-bit appdomain

我感兴趣的是:我可以将32位x86 dll作为第二个AppDomain加载到64位应用程序环境中吗?

更多详情:

1)主要的exe是64位C#pure .net 4 app;

2)模块是某些非托管x86 dll的第三方.net 2.0包装器;

那么我可以在64位.net 4进程中创建第二个32位AppDomain并将32位模块加载到新创建的32位AppDomain中吗?然后在默认的64位AppDomain和第二个32位AppDomain之间编组?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:7)

这是不可能的,bitness是一个进程属性,而不是appdomain属性。要使其工作,您需要在单独的进程中加载​​该DLL。使用标准的.NET IPC机制与之交谈。命名管道,插座,远程处理,WCF。或者将平台目标设置强制为x86。