Раздел конфигурации "system.web.extensions" не может быть прочитан, потому что отсутствует объявление раздела
Я получаю сообщение об ошибке (Раздел конфигурации system.web.extensions
не может быть прочитан, поскольку отсутствует объявление раздела) при установке моего веб-приложения в 32-битной машине Server 2008 с .NET Framework 4.0. но он хорошо работает в 2008 году.
Это моя информация о файле webconfig
<configuration>
<runtime>
<assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
</system.web.extensions>
</configuration>
Любая идея избавиться от этой ошибки?
Примечание. Я проверил все связанные записи в Stack over flow, но ничего не было полезно для меня.
Ответы
Ответ 1
Проблема разрешилась для меня после добавления в настройках моего файла webconfig следующего параметра конфигурации
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
Мы можем обратиться к этой статье за дополнительной информацией: http://www.morgantechspace.com/2013/11/The-configuration-section-system-web-extensions-cannot-be-read-because-it-is-missing-a-section-declaration.html
Ответ 2
Попробуйте изменить время запуска пула приложений с .net 2.0 до .net 4.0
Ответ 3
У меня также была такая же проблема после обновления ОС от Windows Server 2003 до Windows Server 2008 R2, я просто изменил настройки пула приложений на .NetFramework 4.0.0, а также изменил классический режим на интегрированный... мои проблемы решены..
Ответ 4
Вероятно, связанный с этим вопрос: .NET с использованием неправильного 2.0 machine.config вместо 4.0. У меня возникла аналогичная проблема... И решение для меня:
Не уверен, что это реальная причина/решение, но последнее, что я попробовал, это (в диспетчере IIS):
- Перейдите к серверу на правой панели (root node)
- В списке функций откройте "Ограничения ISAPI и CGI"
- Есть 2 элемента с описаниями ASP.NET v4.0.30319 с ограничениями, установленными на Запретить
- Установить ограничение на допустимое
Это последнее, что я пробовал, прежде чем проблема исчезнет.
Ответ 5
Запишите установленную версию .netFramework v4... (пример v4.0.030319), которую вы установили.
Отредактируйте пул приложений, чтобы исправить .NET Framework v4..
Удачи
-Satish
Ответ 6
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Я попробовал это, и это хорошо работает для меня. Может быть, полезно для кого-то.
Ответ 7
Для меня изменение пула приложений .NET Framework версии с v2.0 на v4.0 решило эту проблему.
Откройте IIS → выберите пулы приложений → выберите пул приложений из списка → в контекстном меню выберите основные настройки... → Изменить версию .NET Frame на v4.0