解决不同版本之间的MSB3247冲突 - 绑定重定向已存在时

时间:2014-04-04 13:50:16

标签: .net compiler-errors msbuild assembly-resolution

当绑定重定向已经存在时,有没有人知道为什么我们会收到MSB3247程序集版本错误(推荐绑定重定向)?

我们已经通过MSBuild详细错误和AsmSpy进行了常规检查以检查这一点。

来自MSBuild的诊断日志中的错误表明:

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3247: Found conflicts between different versions of the same dependent assembly.
In Visual Studio, double-click this warning (or select it and press Enter) to fix the conflicts; otherwise, add the following binding redirects to the "runtime" node in the application configuration file: 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Web.Mvc" culture="neutral" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /></dependentAssembly></assemblyBinding> [Z:\PathTo\WebProject.csproj]

在WebProject.csproj的web.config中,我们有:

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
  </dependentAssembly>

在我们的开发机器和当前构建服务器上,我们不会收到错误。但是在我们正在建立的一些全新的构建机器上,我们正在看到它。我认为这可能与.NET 4.5.1或新分离的MS Build工具包有关吗?

我不能为我的生活弄清楚为什么它不开心 - 任何有关调试的提示(请记住我们只在带有构建工具的机器上!)

0 个答案:

没有答案