.NET使用错误的2.0 machine.config而不是4.0



我在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

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

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

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

最新更新