.NET использует неправильный 2.0 machine.config вместо 4.0

У меня установлено веб-приложение .NET на IIS 7.0 Windows Server 2008 R1. Я установил .NET 4.0 на сервер и настроил пул приложений для 4.0 и интегрированный конвейер. По какой-то причине я получаю следующую ошибку:

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

Похоже, что он использует неправильный файл machine.config из V2.0 .NET, а не файл machine.config, в котором определен раздел конфигурации system.web.extensions. Я доказал это, заменив файл machine.config в фреймворке V2.0 на файл из фреймворка V4.0, и веб-приложение больше не выдает ошибку 500.19. Я пытался удалить и переустановить .NET 4.0, а также запустить aspnet_regiis -i.

Любые мысли о том, почему он будет пытаться использовать 2.0 machine.config?


person user1661270    schedule 10.09.2012    source источник
comment
Вы запускали aspnet_regiis -iru для регистрации ASP.NET 4 в IIS?   -  person Russ Cam    schedule 11.09.2012
comment
Я не пробовал эти параметры, но я только что сделал и все еще получаю сообщение об ошибке.   -  person user1661270    schedule 11.09.2012


Ответы (1)


Не уверен, что это действительно причина/решение, но последнее, что я пробовал (в диспетчере IIS):

  1. Перейдите к серверу на правой панели (корневой узел)
  2. В списке функций откройте «Ограничения ISAPI и CGI».
  3. Есть 2 элемента с описаниями ASP.NET v4.0.30319 с установленными ограничениями Deny
  4. Установите значение ограничений на Разрешено

Это последнее, что я пробовал, прежде чем проблема исчезнет.

person Kiryl    schedule 13.11.2014