gpt4 book ai didi

.net - 混合 32 位和 64 位托管程序集

转载 作者:行者123 更新时间:2023-12-02 15:42:48 26 4
gpt4 key购买 nike

全部,

我有一个在 32 位计算机上运行的 .NET 托管应用程序。我可以将其编译为 64 位并将其移植到 64 位计算机上。不过,我依赖于一些 32 位程序集的第 3 方 DLL。我可以将 64 位和 32 位程序集混合在一起在 64 位计算机上执行吗?

谢谢!

最佳答案

如果它们在同一进程中运行,则不会。

操作系统上的进程无法加载不同“位”的程序集。一旦选择,所有组件都必须符合要求。如果您尝试将 32 位 DLL 加载到 64 位进程中,通常会收到 BadImageFormatException 错误,反之亦然。

三个选项:

  1. 获取问题 DLL 的 64 位版本(理想)。
  2. 始终以 32 位独占方式运行(通常是所选路径)。
  3. 在另一个进程中运行有问题的 DLL,并使用 IPC 之类的东西跨进程边界进行通信(极端,但我不得不这样做一次)。

在 64 位操作系统上以 32 位运行本身并没有什么问题,不要陷入认为它会变慢的陷阱。

关于.net - 混合 32 位和 64 位托管程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com