0

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

我找到了一个很好的建议来查看 MSBuild 的详细输出here。似乎System.Web.Providers.dll引用 4.5.0.0 导致此错误。

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

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

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

考虑将程序集 "EntityFramework, Culture=neutral, PublicKeyToken=b77a5c561934e089" 从版本 "4.4.0.0" [] 重新映射到版本 "5.0.0.0" [C:\Rhipheus\Cloudlene.Rhipheus\packages\EntityFramework.5.0。 0\lib\net45\EntityFramework.dll] 解决冲突并摆脱警告。

我将重定向扩展到 4.5.0.0:

考虑将程序集“EntityFramework, Culture=neutral, PublicKeyToken=b77a5c561934e089”从版本“4.5.0.0”[] 重新映射到版本“5.0.0.0”[C:\Rhipheus\Cloudlene.Rhipheus\packages\EntityFramework.5.0。 0\lib\net45\EntityFramework.dll] 解决冲突并摆脱警告。

相同的消息,但现在报告的版本是 4.5.0.0。我将重定向到 4.9.0.0 无济于事(相同的消息,只是版本与我的重定向匹配)。

有人可以指出我做错了什么吗?我提前感谢您没有关闭它,因为它没有建设性;)

4

1 回答 1

0

OK. Once I included 5.0.0.0, the warning went away. Guess, binding redirect must not only redirect older references but the 'primary reference' too.

  <dependentAssembly>
    <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
  </dependentAssembly>
于 2013-07-18T19:50:07.700 回答