正在构建的项目"MSIL"的处理器架构与参考"AMD64

There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "AMD64

本文关键字:AMD64 参考 MSIL 构建 项目 处理器      更新时间:2023-10-16

我有一个Visual Studio 2012 .Net主项目,其构建属性中指定了平台目标x86。该项目由多个C++项目和 C# 项目组成。在我的配置管理器中,C# 项目的平台是任何 CPU,C++项目的平台是 Win32。我想引用针对 AMD64 的第三方 dll。当我添加引用时,我收到以下警告:

警告:警告:处理器不匹配 正在构建的项目"MSIL"和处理器的体系结构 参考"DALSA, 处理器架构=AMD64"的架构, "AMD64"。这种不匹配可能会导致运行时失败。请考虑 通过以下方式更改项目的目标处理器体系结构 配置管理器,以便调整处理器体系结构 在项目和引用之间,或依赖于 具有与目标匹配的处理器体系结构的参考 项目的处理器体系结构。

如果我尝试更改平台目标 x64 的主 C# 项目生成,它会抱怨,因为它依赖的外部 DLL 具有平台目标 x86。

任何我在做什么 wr0ng?

所以你有两只左鞋,而不是一只右鞋。如果你想走路,你应该以某种方式买一双合适的鞋子。获取 x86 DALSA 或 Win64 外部 DLL。

单个进程不可能在不同的体系结构上运行。

唯一的另一种选择是制作一个辅助进程,主进程将与一些 IPC 等管道连接,并在互补架构上运行。或者用 COM 对象包装 DLL。