我有一个我在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 =部分有关。我不记得确切的消息,但它是“无效标签”或“无效属性”。
我有两个问题:
我检查了dev服务器以确保安装了正确版本的.net。它有2个,3个,3.5个和4个,所以我应该被覆盖在那个方面。
我对.net很新。(现在可能很明显),所以请原谅我,如果这被问过一千次,看起来我正在打死马。我的谷歌搜索和搜索stackoverflow没有提供解决方案。
解: 整个问题是IIS未正确配置。网站属性的asp.net选项卡设置为2.0.something。我们将其更改为4.0.something(3.5不是一个选项),一切正常。
答案 0 :(得分:1)
您的框架面向.NET 3.5。您是否使用脚本部分并不重要,但脚本部分配置为3.5。这用于ASP.NET Ajax脚本的客户端脚本。
如果在IIS 6中运行应用程序,则它取决于您为应用程序池配置的框架版本。如果混合应用程序,它可能会以错误的版本启动。检查您是否正确配置了池。不幸的是我在这里没有IIS 6我不记得你是怎么做到的。重要的是,在同一个池中运行的另一个.NET版本中没有其他应用程序。