0

我正在将 Web 应用程序 (WebForms) 从 IIS6 上的 ASP.NET 3.5 迁移到 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

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

4

1 回答 1

1

我首先想到的是 ScriptResourceHandler 块以及您列出的其他块正在引用 System.Web.Extensions 的 v3.5,它应该引用 .NET 4 应用程序的 v4。

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

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

此外,您可能知道也可能不知道许多 IIS 设置已移至system.webServer7.x 中的 web.config 部分中,而这些设置在 IIS6/v3.5 的其他部分中。如果您从 VS 的默认 v4 web.config 开始,这将不是问题。

于 2011-02-22T16:54:08.603 回答