MSB3247:发现冲突... EnttityFramework 4.4.00到5.0.0.0的错误

时间:2013-07-18 18:56:46

标签: asp.net-mvc-4 msbuild msbuild-4.0

这发生在ASP.Net MVC 4项目中。

我发现了查看MSBuild详细输出here的绝佳建议。似乎 System.Web.Providers.dll 引用4.5.0.0导致此错误。

我在运行时尝试了web.config中的绑定重定向 - > assemblyBinding

  <dependentAssembly>
    <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
    <bindingRedirect oldVersion="1.0.0.0-4.4.0.0" newVersion="5.0.0.0" />
  </dependentAssembly>

当我重建项目时,我仍然收到以下消息:

  

考虑app.config重新映射程序集“EntityFramework,   文化=中立,PublicKeyToken = b77a5c561934e089“来自版本   “4.4.0.0”[]到版本“5.0.0.0”   [C:\ Rhipheus \ Cloudlene.Rhipheus \包\ EntityFramework.5.0.0 \ lib中\ net45 \ EntityFramework.dll]   解决冲突并摆脱警告。

我将重定向扩展到4.5.0.0:

  

考虑app.config重新映射程序集“EntityFramework,   文化=中立,PublicKeyToken = b77a5c561934e089“来自版本   “4.5.0.0”[]到版本“5.0.0.0”   [C:\ Rhipheus \ Cloudlene.Rhipheus \包\ EntityFramework.5.0.0 \ lib中\ net45 \ EntityFramework.dll]   解决冲突并摆脱警告。

相同的消息,但现在报告的版本是4.5.0.0。我将重定向升级到4.9.0.0无效(相同的消息只有版本的碰撞匹配我的重定向)。

有人能指出我做错了什么吗?我提前感谢不要将其视为没有建设性;)

1 个答案:

答案 0 :(得分:0)

行。一旦我加入5.0.0.0,警告便消失了。猜测,绑定重定向不仅必须重定向旧引用,还必须重定向“主引用”。

  <dependentAssembly>
    <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
  </dependentAssembly>