web-dev-qa-db-ja.com

構成セクション「system.web.extensions」は、セクション宣言が欠落しているため読み取ることができません

Server 2008 32ビットマシンにWebアプリケーションをインストールしているときにエラーが発生します(セクション宣言system.web.extensionsはセクション宣言が欠落しているため読み取ることができません.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>

このエラーを取り除くためのアイデアはありますか?

Note:Stack over flowのすべての関連エントリをチェックしましたが、何も役に立ちませんでした

47
kombsh

次の構成設定を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

42
kombsh

アプリケーションプールのランタイムを.net 2.0から.net 4.0に変更してみてください

OSをWindows Server 2003からWindows Server 2008 R2にアップグレードした後も同じ問題が発生しました。アプリケーションプールの設定を.NetFramework 4.0.0に変更し、クラシックモードを統合モードに変更しました。

8
user3946348

おそらく関連する質問: 4.0ではなく2.0 machine.configを誤って使用した.NET 。私は同様の問題を経験しました...そして私のための解決策:

それが本当に理由/解決策であることは確かではありませんが、私が試した最後のことは(IIS Managerで)です:

  1. 右側のパネルでサーバーに移動します(ルートノード)
  2. 機能リストで「ISAPIおよびCGIの制限」を開きます
  3. ASP.NET v4.0.30319の説明に制限が[拒否]に設定された2つのアイテムがあります
  4. 制限値を許可に設定します

これは、問題がなくなる前に試した最後のことです。

2
Kiryl

インストールした.netFrameworkバージョンv4 ...(例v4.0.030319)を書き留めます。アプリケーションプールを編集して、.NET Framework v4を修正します。

幸運を

-サティッシュ

1
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

私はこれを試してみましたが、うまくいきました。誰かに役立つかもしれません。

0
Praveen

私にとって、アプリケーションプール.NET Frameworkバージョンをv2.0からv4.0にに変更することで、この問題を解決しました。

開くIIS->選択App Pools-> Select App Poolリストから->コンテキストメニューから基本設定...-> 。NET Frameバージョンをv4.0に変更

0
ross.zhalivtsiv