将asp.net 3.5 / IIS6应用程序升级到asp.net 4.0 / IIS7.5

时间:2011-02-22 15:57:33

标签: asp.net iis-7.5 migrate

我正在将IIS6上的ASP.NET 3.5中的Web应用程序(WebForms)迁移到IIS 7.5上的ASP.NET 4.0。

我在VS2010中创建了一个新项目,并添加了旧项目中的现有源文件并进行了编译。它花了很少的调整,但一切都很好。

当我通过IIS(http:// localhost / myapp)运行应用程序时,出现以下错误:

  

HTTP错误500.19 - 内部服务器错误

     

无法访问请求的页面,因为页面的相关配置数据无效。

Web.config的相关部分是:

  

< sectionGroup name =“scripting”type =“System.Web.Configuration.ScriptingSectionGroup,System.Web.Extensions,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 31BF3856AD364E35”>

     

< section name =“scriptResourceHandler”type =“System.Web.Configuration.ScriptingScriptResourceHandlerSection,System.Web.Extensions,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 31BF3856AD364E35”requirePermission =“false”allowDefinition =“ MachineToApplication“/>

     

< sectionGroup name =“webServices”type =“System.Web.Configuration.ScriptingWebServicesSectionGroup,System.Web.Extensions,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 31BF3856AD364E35”>

     

...

错误是突出显示脚本ResourceHandler

我做了一些谷歌搜索,但找不到解决这个问题的方法。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

对我来说,第一件事就是ScriptResourceHandler块以及你列出的其他块正在引用System.Web.Extensions的v3.5,它应该引用v4 for .NET 4申请。

(并非所有的.NET 4框架程序集都已更新为v4版本号,但这个版本号已经更新。)

看起来你正在使用旧的v3.5 web.config。如果是这样,您可以尝试备份web.config(当然),向Web应用添加新的默认web.config,然后添加任何自定义设置(appSettingsconnectionStrings等)。这可能是获取正确web.config的最快方法,无需手动修改每个条目,更新属性名称等。

此外,您可能已经或可能不知道许多IIS设置已移至7.x中web.config中的system.webServer部分,该部分位于IIS6 / v3.5的其他部分中。如果从VS的默认v4 web.config开始,则不会出现问题。