IIS で エラー コード 0x80070021 が発生した場合の対処法

Visual Studio でlocalのwebサイトに発行し、下記エラーが発ししました。
Visual StudioはExpress 2013 for web。
LocalのIISはWindows8に付属の8.5です。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HTTP エラー 500.19 – Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー コード 0x80070021
構成エラー この構成セクションをこのパスで使用できません。
この問題は、親レベルでセクションがロックされているときに発生します。
ロック状態は既定で設定されているか (overrideModeDefault=”Deny”)、
または overrideMode=”Deny” もしくは従来の allowOverride=”false”
を含んだ場所タグによって明示的に設定されます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

私はこの設定がweb.configにあると思っていましたが、それが大きな間違いでした。

IISではapplicationHost.configというファイルが、system32¥inetsrv配下に存在します。
私の環境の場合は、「C:\Windows\System32\inetsrv\config」配下にありました。

この”applicationHost.config”ファイルこそがIISの構成ファイルであり、
web.configはIISに配置されたアプリケーション毎の設定ファイルなのです。

エラー画面では構成ファイルとしてweb.configが指摘されますが、実際にしてきされているのはapplicationHost.config
ファイルだったのです。

<section name=”modules” allowDefinition=”MachineToApplication” overrideModeDefault=”Deny” />

<section name=”modules” allowDefinition=”MachineToApplication” overrideModeDefault=”Allow” />
に修正すれば解決します。

タイトルとURLをコピーしました