构建 C# MVC 5 站点时项目之间的处理器架构不匹配

Gee*_*_SO 4 c# msbuild visual-studio

我得到的错误如下...

build 20-Apr-2017 13:23:38 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5):警告 MSB3270:处理器架构之间存在不匹配正在构建的项目“MSIL”和处理器架构参考“System.Data”、“AMD64”。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器架构,以便在您的项目和参考之间对齐处理器架构,或者依赖于具有匹配项目目标处理器架构的处理器架构的参考。[D:_atlassian-home\bamboo-home\xml-data\build-dir\blah\blah\blah.csproj]

我见过其他人有同样的问题,但在遵循他们的解决方案后,它并没有改善我的情况(处理器架构不匹配构建错误)。

在解决方案上运行 MSBuild 时,这会发生在我们的 CI 服务器 (Bamboo) 上。

我很困惑,有人有任何想法吗?

Leo*_*SFT 8

首先,这真的只是一个警告。如果您只是处理 Amd64 依赖项,它应该不会有任何伤害。如果配置设置为任何 CPU,当其中一个程序集为 Amd64 编译时,这意味着它将不再在任何 CPU 上工作 - 它只能在 64 位 CPU 上工作。

由于您有 Amd64 依赖项,因此从技术上讲,您的项目与“任何 CPU”不兼容。要使警告消失,您实际上应该将项目从“任何 CPU”更改为“x64”。

如果您仍想使用“Any CPU”配置您的项目,您可以编辑您的项目文件并添加此属性组和设置以禁用警告:

<PropertyGroup><ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch></PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮到你。