我在编译解决方案时提出了这两个着名警告的问题 . 关于这些的论坛已经很多,我读了这些论坛,但他们仍然没有完全解决我的问题......

1.正在构建的项目的处理器体系结构"MSIL"与参考"XXX","AMD64"的处理器体系结构之间存在不匹配 . 这种不匹配可能会导致运行时故障 . 请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于具有与项目的目标处理器体系结构相匹配的处理器体系结构的引用 .

2.引用程序集'XXX'的目标是与应用程序不同的处理器 .

这些出现在我们案例中的原因很清楚 . 我们的解决方案编译为AnyCPU,我们希望保持这种方式,因为我们不想编译两次(一次为x86,另一次为x64) . 但是,我们使用外部DLL,它是x86或x64(它不作为AnyCPU提供) . 我们在64位窗口上开发应用程序,因此我们在开发过程中使用x64 DLL版本作为visual studio的参考 . 当我们将应用程序交付给最终用户时,安装程序被定制为基于目标系统的平台复制适当的DLL,例如,当它安装在64位窗口上时,它会复制x64 DLL版本,当它安装在32位窗口时,它会复制x86 DLL版本 . 因此,我们知道一切都是好的,我们可以忽略这些消息 . 因此,我只想让它们消失:-)

第一个警告可以通过项目文件中的以下标记来抑制:

<PropertyGroup>
    <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
  </PropertyGroup>

但我没有找到任何地方如何摆脱其他消息?这也可能吗?我知道这只是一个小问题,我可以忍受 . 然而,我的公司正在发生类似“警告免费构建计划”的事情,所以我想摆脱我们所有的警告 .

提前感谢您提供任何提示,Tomas