如何在MVC3应用程序中消除MSB3247(程序集版本冲突)警告?
如何在MVC3应用程序中消除MSB3247(程序集版本冲突)警告?
我有一个依赖于DotNetOpenAuth库的MVC3应用程序,该库引用了MVC1。当我安装DotNetOpenAuth NuGet包时,它在我的web.config中添加了一个程序集绑定重定向。我取消了注释,但没有任何变化。\n经过一些搜索,我发现这个问题通常是由于拼写错误引起的,但我怀疑这不适用于我,我至少检查了配置文件十几次,没有发现拼写错误。\n我将我的web.config简化为以下内容:\n
\n在构建期间,我收到以下警告:\n
考虑将程序集“System.Web.Mvc,Culture=neutral,PublicKeyToken=31bf3856ad364e35”从版本“1.0.0.0” []重新映射到版本“3.0.0.0” [C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll]以解决冲突并消除警告。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3247: 发现同一依赖程序集的不同版本之间的冲突。
\n我尝试了很多不同的组合(例如在我的web.config中添加culture=\"neutral\"属性),但没有成功,我已经没有更多的想法了。有什么建议吗?\n更新\n我的~/Views/web.config在这里。
在一个类似的情况下,使用.NET Framework 4.5项目和Visual Studio 2013,我最近在MSDN文章中找到了解决方法:
顺便说一下:在我们的项目中起作用了,至少在从VS运行构建时是这样的。但是在从命令行脚本运行构建时没有任何效果。
感谢这个提示,下次我再碰到这个该死的项目时会尝试一下(=希望永远不会再碰到)。