Раздел конфигурации 'system.web.extensions' не может быть прочитан, поскольку в нем отсутствует объявление раздела
Я получаю сообщение об ошибке (раздел конфигурации system.web.extensions
не может быть прочитано, поскольку в нем отсутствует объявление раздела) при установке 32-разрядного компьютера с веб-приложением в Server 2008 с помощью .NET Framework 4.0. но это хорошо работает в 2008 году r2 64-битная машина.
Это моя информация о файле 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>
Есть идеи, чтобы избавиться от этой ошибки?
Примечание: я проверил все связанные записи в стеке над потоком, но для меня ничего не помогло
4 ответа
Проблема решена для меня после добавления следующего параметра конфигурации в мой файл 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
Попробуйте изменить время выполнения пула приложений с.net 2.0 на.net 4.0
У меня также была такая же проблема после обновления моей ОС с Windows Server 2003 до Windows Server 2008 R2, я просто изменил настройки пула приложений на.NetFramework 4.0.0, а также изменил классический режим на интегрированный режим... мои проблемы решены..
Вероятно, связанный вопрос: .NET использует неправильный 2.0 machine.config вместо 4.0. Я сталкивался с подобной проблемой... И решение для меня:
Не уверен, что это действительно причина / решение, но последнее, что я попробовал, это (в IIS Manager):
- Перейдите на сервер в правой панели (корневой узел)
- В списке функций откройте "Ограничения ISAPI и CGI"
- Есть 2 элемента с описаниями ASP.NET v4.0.30319 с ограничениями, установленными на Запретить
- Установите значение ограничения Разрешено
Это последнее, что я пробовал до того, как проблема исчезла.
Запишите установленную версию.netFramework v4... (пример v4.0.030319), которую вы установили. Отредактируйте пул приложений, чтобы исправить.NET Framework v4..
Удачи
-Satish
Для меня изменение версии .NET Framework пула приложений с v2.0 на v4.0 решило эту проблему.
Откройте IIS -> Выберите пулы приложений -> Выберите пул приложений из списка -> Из контекстного меню выберите Основные настройки... -> Изменить версию.NET Frame на v4.0
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Я попробовал это, и это хорошо работает для меня. Может быть, полезно для кого-то.