The configuration section 'system.web.extensio

2019-01-08 13:50发布

问题:

I am getting error (The configuration section system.web.extensions cannot be read because it is missing a section declaration) while installing my Web Application in Server 2008 32 bit machine with .NET Framework 4.0. but it works well in 2008 r2 64 bit machine.

This is my webconfig file info

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

Any idea to get rid of this error?

Note: I have checked all the related entries in Stack over flow but nothing was useful for me

回答1:

Try changing the application pool run time from .net 2.0 to .net 4.0



回答2:

The issue resolved for me after adding the following configuration setting in my webconfig file

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

We can refer this article for more info: http://www.morgantechspace.com/2013/11/The-configuration-section-system-web-extensions-cannot-be-read-because-it-is-missing-a-section-declaration.html



回答3:

I also had the same problem after upgrading my OS from Windows Server 2003 to Windows Server 2008 R2 , I just changed the application pool settings to .NetFramework 4.0.0 and also changed the classic to Integrated mode ... my problems solved ..



回答4:

Probably related question: .NET using wrong 2.0 machine.config instead of 4.0. I've experienced similar issue... And solution for me:

Not sure, that it's realy reason/solution, but last thing I've try it is (in IIS Manager):

  1. Navigate to server in right panel (root node)
  2. In the features list open "ISAPI and CGI Restrictions"
  3. There is 2 items with descriptions ASP.NET v4.0.30319 with restrictions set to Deny
  4. Set restrictions value to Allowed

This is last thing i've tried before issue is gone.



回答5:

Note down .netFramework version v4... (examplev4.0.030319) you have installed Edit your application pool to correct .NET Framework v4..

Good luck

-Satish