正在构建的项目的处理器架构与#34; MSIL"之间存在不匹配。以及参考" AMD64的处理器架构

时间:2014-12-17 00:24:34

标签: c# c++ .net visual-studio-2012 architecture

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

  

警告:警告:处理器之间存在不匹配   正在构建的项目架构“MSIL”和处理器   参考“DALSA,processorArchitecture = AMD64”的架构,   “AMD64”。这种不匹配可能会导致运行时故障。请考虑   通过改变项目的目标处理器架构   配置管理器,以便对齐处理器体系结构   您的项目和引用之间,或依赖于   具有与目标匹配的处理器体系结构的引用   您项目的处理器架构。

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

我在做什么wr0ng?

1 个答案:

答案 0 :(得分:2)

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

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

唯一的另一种选择是创建一个辅助进程,主进程将与某些IPC类似的管道连接,并且将在互补体系结构上运行。或者使用COM对象包装DLL。