我正在将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
我做了一些谷歌搜索,但找不到解决这个问题的方法。有什么想法吗?
答案 0 :(得分:1)
对我来说,第一件事就是ScriptResourceHandler块以及你列出的其他块正在引用System.Web.Extensions的v3.5,它应该引用v4 for .NET 4申请。
(并非所有的.NET 4框架程序集都已更新为v4版本号,但这个版本号已经更新。)
看起来你正在使用旧的v3.5 web.config。如果是这样,您可以尝试备份web.config(当然),向Web应用添加新的默认web.config,然后添加任何自定义设置(appSettings
,connectionStrings
等)。这可能是获取正确web.config的最快方法,无需手动修改每个条目,更新属性名称等。
此外,您可能已经或可能不知道许多IIS设置已移至7.x中web.config中的system.webServer
部分,该部分位于IIS6 / v3.5的其他部分中。如果从VS的默认v4 web.config开始,则不会出现问题。