【问题标题】:ASP.NET MVC 2 site issues when updated IIS7 to .NET 4.5将 IIS7 更新为 .NET 4.5 时的 ASP.NET MVC 2 站点问题
【发布时间】:2013-03-11 00:25:21
【问题描述】:

我有一个运行 ASP.NET MVC 2 和其他网站的网络应用程序(使用 ASP.NET MVC 4),更新了 IIS7 以使用 .NET 4.5 并且我的 MVC2 应用程序停止正常工作:

  1. 问题:(拦截器) There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined 解决方案: 注释掉 web.config 的一部分,基于http://forums.asp.net/p/1571308/3939106.aspx:

  2. 问题:(拦截器) 登录停止工作,解决方案将这一行<machineKey validation="SHA1"/>添加到web.config,基于Login fails after upgrade to ASP.net 4.0 from 3.5

  3. 问题: 其中一种观点是给出编译错误:

CS0104:“ContainerType”在 'System.Web.DynamicData.ContainerType' 和 'MVFleet2.Core.ContainerType'

在这一行:

<%foreach (var specs in (List<ContainerType>)ViewData["ContainerTypes"])

此错误在更新之前从未发生过,我知道显而易见的解决方案是使用演员的全名,但我正在寻找解决方案,以便我可以强制 Web 应用程序在 .NET 3.5 的上下文中运行并绕过这个问题,所以我不必处理这个问题,将来可能还会有更多问题......这可能吗?

【问题讨论】:

    标签: asp.net-mvc-2 iis-7 asp.net-4.5


    【解决方案1】:

    如果您想使用旧版本的框架(.net 3.5),您需要将 IIS 中的应用程序池更改为以 .Net 2.0 运行。

    【讨论】:

    • 3.5 实际上和 2.0 是同一个 CLR。很高兴我能帮上忙。
    • JOBG,只是好奇你是如何在从 4.0 升级到 4.5 时遇到这种情况的?您的 MVC 2 App 之前是否在 3.5 下运行?我可以从你在帖子中提到的 issue#2 猜到。
    • 首先我在 3.5 下运行,然后升级到 4.0,几周后升级到 4.5,但直到更新到 4.5,我们才意识到问题,因为那个 mvc2 站点是一个测试站点( dev 站点),所以我们并没有在那个 web 应用上经常测试,也许问题是在第一次升级到 4.0 时出现的,而不是像标题所暗示的那样与 4.5 直接相关。
    • @JOBG 这听起来更有可能。
    【解决方案2】:

    您应该将ContainerType 类型定义完全限定为MVFleet2.Core.ContainerType.ContainerType

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      相关资源
      最近更新 更多