IIS7到IIS6迁移web.config问题

时间:2011-09-06 15:10:13

标签: asp.net iis-7 web-config iis-6

我有一个我在Visual Studio 2008中编写的Web应用程序,其目标是.Net Framework 3.5。为了测试它,我使用了运行Windows 7的机器,这意味着IIS7。我的应用程序在这方面工作正常,但当它部署到开发服务器(运行服务器2003,所以IIS6)时,它不起作用。

我的web.config文件的前几行如下:

<?xml version="1.0"?><configuration>
    <configSections>
        <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

我得到的错误与sectionGroup标记的type =部分有关。我不记得确切的消息,但它是“无效标签”或“无效属性”。

我有两个问题:

  • 首先,是否有人能够熟悉IIS,知道为什么这个工作在7而不是6?
  • 其次,为什么我需要sectionGroup标签?它做了什么?

我检查了dev服务器以确保安装了正确版本的.net。它有2个,3个,3.5个和4个,所以我应该被覆盖在那个方面。

我对.net很新。(现在可能很明显),所以请原谅我,如果这被问过一千次,看起来我正在打死马。我的谷歌搜索和搜索stackoverflow没有提供解决方案。

解: 整个问题是IIS未正确配置。网站属性的asp.net选项卡设置为2.0.something。我们将其更改为4.0.something(3.5不是一个选项),一切正常。

1 个答案:

答案 0 :(得分:1)

您的框架面向.NET 3.5。您是否使用脚本部分并不重要,但脚本部分配置为3.5。这用于ASP.NET Ajax脚本的客户端脚本。

如果在IIS 6中运行应用程序,则它取决于您为应用程序池配置的框架版本。如果混合应用程序,它可能会以错误的版本启动。检查您是否正确配置了池。不幸的是我在这里没有IIS 6我不记得你是怎么做到的。重要的是,在同一个池中运行的另一个.NET版本中没有其他应用程序。