问题 visual studio express 2012 app.config重映射程序集


不久前我将一个项目从MVC 3移到了MVC 4。

当我建立时,我得到了消息

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文件的路径的位置。

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


8200
2018-06-06 00:23


起源

你有使用nuget安装的库吗? - DSlagle
是,多个,并且在更新库之后确实发生了构建消息。我不熟悉nuget知道如何找到/解决这个问题 - Brent
尝试在包管理器控制台中运行update-package -reinstall。您必须安装nuget 2.1来执行此操作,但它将重新定位所有第三方库。几天前在更新到.net 4.5之后,我的项目就这样做了。我有相同类型的错误消息。有关详细信息,请查看此链接 stackoverflow.com/questions/12006991/... - DSlagle


答案:


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

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
</runtime>

您也可以尝试在中运行以下内容 包管理器控制台

Update-Package -Reinstall

你必须为这个命令至少拥有2.1版本的nuget,但如果你已经更新了.NET,它将更新你的软件包并重新定位它们。您可以查看此帖子以获取更多信息。

从.Net 4.0重新定位到4.5的解决方案 - 如何重新定位NuGet包?


12
2018-06-06 00:47



谢谢DSlagle - 刚要求你发帖,所以我接受了答案。我猜这很快会被标记为重复,但我可以看到我的搜索没有找到你的StackOverflow链接。 - Brent
只是旁注, Update-Package -Reinstall 根据你的项目需要很长时间 - mhesabi
警告 - 使用此命令使我的大多数引用无效,我不得不重新创建解决方案。 - Dementic


我也遇到过这样的问题。我做了两件事:

  • 更新了System.Web.Mvc以及所有依赖关系到最后一个版本(5.2.3)
  • 重建所有解决方案 (我确实使用过“  - > 清洁解决方案“, 然后 ”  - > 构建解决方案“)

0
2017-12-16 13:54