我更改了所有web.config文件,以便引用4.0.40804.0。
我的web.config中有一个程序集绑定重定向
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
</dependentAssembly>
有两个使用以前版本的System.Web.Mvc构建的外部程序集,它正在抱怨其中一个(一个包含几个HTML帮助程序)。无法升级它们,因为它们不受我的控制。
不明白为什么绑定重定向不起作用。
(更新:我正在使用VS2015)
答案 0 :(得分:3)
为了解决这个问题,我执行了以下步骤:
如果你想坚持使用System.Web.Mvc 4.0.0.1,那么步骤1和3可能不是绝对必要的。在这种情况下,在步骤2中,您应该根据mvc4的版本更改版本号。
步骤2也没有提到Razor dll或其他与MVC相关的dll。如果它们已升级(例如System.Web.Razor 3.0),那么您需要在所有web.config文件中更改这些dll的版本号。
最后,它改变了.csproj和.csproj.user文件中的ToolsVersion,使警告消失。 .csproj.user文件特别棘手,因为在我们的情况下,它没有在源代码管理中签入,这意味着每个团队成员都必须为自己的.csproj.user文件重复它。