.net - 一个.Net进程中的不同平台AppDomains?

标签 .net dll x86 64-bit appdomain

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

更多细节:

1) 主要的 exe 是 64 位 C# 纯 .net 4 应用程序;

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

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

感谢您的任何建议!

最佳答案

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

关于.net - 一个.Net进程中的不同平台AppDomains?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4186335/

相关文章:

c# - 如何从 JSON.NET 序列化中省略继承属性

.net - Visual Studio ASP.Net MVC 撤消设置为起始页操作

compiler-construction - 在 x86 中编码 - 编译器代码生成

c++ - 将值从 exe 传递到 dll C++

c++ - 让一个程序只与目录中的某些dll一起运行

linux - 程序集 - 数组 (Linux)

android - 原生 Android 应用程序在 x86 上使用 SIGILL 崩溃

c# - 在 C# 中使用 libpng

.Net Maui 将 Assets 复制到 appData

c++ - 丢失 DLL 的一般方法