Visual studio 2012 visual studio express 2012 app.config重新映射程序集

Visual studio 2012 visual studio express 2012 app.config重新映射程序集,visual-studio-2012,assembly-resolution,Visual Studio 2012,Assembly Resolution,不久前,我将一个项目从MVC3转移到MVC4 当我构建时,我会收到消息 1> No way to resolve conflict between "System.Web.Mvc, Version=3.0.0.0 ..." and , Version=2.0.0.0 1> Consider app.config remapping of assembly "System.Web.WebPages ..." from Version "1.0.0.0" to Version "2.

不久前,我将一个项目从MVC3转移到MVC4

当我构建时,我会收到消息

1>  No way to resolve conflict between "System.Web.Mvc, Version=3.0.0.0 ..." and , Version=2.0.0.0
1>  Consider app.config remapping of assembly "System.Web.WebPages ..." from Version "1.0.0.0" to Version "2.0.0.0"  to solve conflict and get rid of warning.
1>  Consider app.config remapping of assembly "System.Web.WebPages.Razorfrom Version "1.0.0.0" [c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Razor.dll] to Version "2.0.0.0" [C:\Users\OEM\documents\visual studio 2012\Projects\DabTrial\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Razor.dll] to solve conflict and get rid of warning.
等等

当我查看引用时,它们都是较新版本,而web.config只引用较新版本。当我通过公钥标记(在windows资源管理器中)搜索整个解决方案目录时,没有找到引用早期版本的XML类型文件

显然,文件的路径不同,但我找不到编译器指向早期.dll文件路径的位置


项目构建和运行良好,但我认为编译器建议这些更改是有原因的。感谢您的帮助。

您的nuget依赖项可能引用了MVC3版本。您可以尝试将以下内容放入web配置以强制使用MVC4版本:


对于此命令,您必须至少有2.1版的nuget,但如果您更新了.NET,它将更新您的包并重新定位它们。你可以查看这篇文章以了解更多信息


我也有这样的问题。我只做了两件事:

  • 将System.Web.Mvc和所有依赖项更新至最新版本(5.2.3)
  • 重建所有解决方案(我使用了“解决方案->清洁解决方案”,然后是“解决方案->构建解决方案”)

尝试在项目文件中设置
AutoGenerateBindingRedirects
true

您是否有使用nuget安装的库?是的,有多个,并且在更新库后出现生成消息。我对nuget不太熟悉,不知道如何查找/修复此问题。请尝试在package manager控制台中运行update package-重新安装。您必须安装nuget 2.1才能执行此操作,但它将重新定位所有第三方LIB。在几天前更新到.NET4.5之后,我在我的项目上做了这个。我收到了相同类型的错误消息。查看此链接了解更多信息谢谢你DSlagle-我正要请你发帖,以便我可以接受答案。我猜这将很快被标记为重复,但我可以看到我的搜索没有找到你的StackOverflow链接。只是附带说明,
更新包-重新安装
,根据你的项目需要很长时间警告-使用此命令使我的大多数引用无效,我必须重新创建解决方案。
Update-Package -Reinstall