Ответ 1
По-видимому, IIS7 нуждается в разделе System.WebServer, даже если он пуст. Добавление следующего в мой файл web.config исправило мою проблему.
<system.webServer>
</system.webServer>
У меня проблема. Мой старый веб-сервер (Windows 2003) был заменен на 2008 R2. Мне была предоставлена учетная запись администратора, и я могу делать все, что захочу, но я не эксперт в этой области. Я настроил роли для разработки приложений и веб-сервера (iis7).
НО, мой сайт работает .NET4, а роль установлена только 3.5. Поэтому я попытался установить .NET4 вручную, на сервере. Моя проблема заключается в том, что мой сайт не будет работать над этим из-за раздела System.ServiceModel в моем web.config. Я убедился, что он работает в пуле приложений .NET4.
Я предполагаю, что это проблема WCF, но я не могу понять, как ее решить. Я пробовал все, что нашел в Google. aspnet_regis, ServiceModelReg.exe и так далее. Я даже попытался переустановить роль веб-сервера, но по-прежнему получаю эту ошибку, каждый раз, когда я пытаюсь ввести настройки сайтов.
Я надеюсь, что здесь есть несколько экспертов, которые знают, как это исправить.
По-видимому, IIS7 нуждается в разделе System.WebServer, даже если он пуст. Добавление следующего в мой файл web.config исправило мою проблему.
<system.webServer>
</system.webServer>
У меня было такое же сообщение об ошибке, и это было из-за того, что на этом сервере отсутствовала инфраструктура .NET 3.5.1. Включение этой проблемы: http://blogs.msdn.com/b/sqlblog/archive/2010/01/08/how-to-install-net-framework-3-5-sp1-on-windows-server-2008-r2-environments.aspx
Перейдите в пулы приложений в IIS и выберите "Set Applicaiton Pool Default" [доступно в правом верхнем углу] и проверьте версию .net framework.
Примечание. Он по умолчанию выбирается как .net 4.0
У меня была другая причина для получения этой ошибки.
Это произошло во время миграции проекта MVC с .Net 4.0 до 4.5, где библиотека Microsoft.IdentityModel заменена на System.identityModel. В моем случае я выполнил все необходимые шаги миграции Web.Config указанные здесь, но забыл изменить имя раздела в разделе configSections:
<configSections>
<section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
В качестве написанного здесь, определение раздела должно быть:
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Проблема для меня заключалась в том, что службы WCF не были установлены. Установка этого исправила проблему для меня: http://blogs.msdn.com/b/knom/archive/2009/10/14/iis7-wcf-services-svc-do-not-work.aspx
Обратите внимание, что изменение пула приложений .NET с 2.0 до 4.0 не было для меня вариантом, потому что сайт должен был работать на 2.0.
Поскольку мой проект должен запускаться в .net 2.0 Я должен следовать этой ссылке, и она работает для меня с решением 3: запустите файл .js
У меня была та же проблема... Я исправил ее просто: aspnet_regiis.exe -i