我得到的错误如下......
2017年4月20日建成 13:23:38 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(1605,5): 警告MSB3270:处理器之间存在不匹配 正在构建的项目架构“MSIL”和处理器 参考“System.Data”,“AMD64”的体系结构。这种不匹配 可能会导致运行时故障请考虑更改目标 通过Configuration配置项目的处理器体系结构 管理器,以便在您的处理器之间对齐处理器架构 项目和引用,或依赖于引用与 与目标处理器匹配的处理器架构 您的项目的架构。 [d:_atlassian家庭\竹家庭\ XML的数据\集结DIR \等等\等等\ blah.csproj]
我见过其他人也有同样的问题,但在遵循他们的解决方案之后,它并没有改善我的情况(Processor architecture mismatch building error)。
在解决方案上运行MSBuild时,我们的CI服务器(Bamboo)会发生这种情况。
我很难过,有没有人有任何想法?
答案 0 :(得分:3)
首先,它只是一个警告。如果您只是处理Amd64依赖项,它不应该伤害任何东西。如果配置设置为任何CPU,当为Amd64编译其中一个程序集时,这意味着它将不再适用于任何CPU - 它只能在64位CPU上运行。
因为你有一个Amd64依赖,所以从技术上讲你的项目不是"任何CPU"兼容。为了使警告消失,您实际上应该从"任何CPU"到" x64"。
如果您仍想使用"任何CPU"配置您的项目,您可以创建项目文件并添加此属性组并设置为禁用警告:
<PropertyGroup><ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch></PropertyGroup>
希望这可以帮到你。
答案 1 :(得分:0)
将带有代码的旧项目转移到新计算机(Windows 10、64位,VS2012)之后,我收到了类似的警告。 我已安装NET Framework 4.5(或与您相关的任何文件),然后在项目属性的“目标框架”中选择它。 警告已删除!