.NET使用错误的2.0机器配置文件而不是4.0版本。

3

我有一个安装在IIS 7.0 Windows Server 2008 R1上的.NET Web应用程序。我已经在服务器上安装了.NET 4.0,并为4.0配置了应用程序池和集成管道。但出现以下错误:

(500.19) The configuration section 'system.web.extensions' cannot be read because
  it is missing a section declaration.

看起来它使用了错误的 V2.0 .NET 的 machine.config 文件,而不是已定义 system.web.extensions 配置部分的 machine.config 文件。我通过将 V2.0 框架中的 machine.config 文件替换为 V4.0 框架中的文件来证明了这一点,并且 Web 应用程序不再抛出 500.19 错误。我尝试卸载和重新安装 .NET 4.0 并运行 aspnet_regiis -i,但都没有解决问题。
有什么想法为什么会尝试使用 2.0 machine.config 文件呢?

你是否运行了 aspnet_regiis -iru 命令来将 ASP.NET 4 注册到 IIS? - Russ Cam
我之前没有尝试过那些参数,但是我刚刚尝试了一下,仍然出现了错误。 - user1661270
1个回答

2

我不确定这是否是真正的原因/解决方案,但我最后尝试的方法是(在IIS管理器中):

  1. 在右侧面板(根节点)中导航到服务器
  2. 在功能列表中打开“ISAPI和CGI限制”
  3. 有两个带有ASP.NET v4.0.30319说明的项目,限制设置为拒绝
  4. 将限制值设置为允许

这是问题消失之前我尝试的最后一件事。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接