Razor视图在升级到Microsoft.AspNet.Mvc版本4.0.40804.0后显示警告CS1702

时间:2016-03-21 08:00:44

标签: asp.net-mvc asp.net-mvc-4

我更改了所有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)

1 个答案:

答案 0 :(得分:3)

为了解决这个问题,我执行了以下步骤:

  1. 将MVC升级到最新版本5.2.3.0
  2. 更改了所有版本的web.config并检查了装配绑定重定向,如Upgrade MVC4 to MVC5
  3. 中的步骤所述
  4. 在扩展和更新中升级ASP.NET和Web工具以及Microsoft ASP.NET Web框架和工具
  5. 已更改&lt; Project ToolsVersion =“12.0”...&gt;到&lt; Project ToolsVersion =“14.0”...&gt;在网络应用.csproj和网络应用.csproj.user文件!
  6. 如果你想坚持使用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文件重复它。