これはチーム全体を狂わせています。 IISまたはWebサーバーのいくつかの単純な誤った構成部分がなければなりませんが、IIS 7.5でASP.NET Webアプリケーションを実行しようとするたびに、次のエラーが発生します。 ..
完全なエラーは次のとおりです。
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
data for the page is invalid.
`Detailed Error Information`
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\E:\wwwroot\web.config
Requested URL http://localhost:80/Default.aspx
Physical Path
Logon Method Not yet determined
Logon User Not yet determined
Config Source
-1:
0:
マシンは実行中ですWindows Server 2008 R2。 Visual Studio 2008を使用してWebアプリケーションを開発しています。
Microsoftによると、コード8007000dはweb.configに構文エラーがあることを意味します-プロジェクトがローカルでビルドおよび実行されることを除きます。 XML Notepadでweb.configを確認しても、構文エラーは表示されません。私はそれが私の側の何らかの悪い設定でなければならないと仮定しています...?
エラーに関する詳細情報をどこで見つけることができるか誰にもわかりますか? EventViewerには何も表示されません:(
他に何が役立つかわからない...
援助は大歓迎です。ありがとう!
PDATES!-WEB.CONFIG以下に投稿
さて、上の元の質問を投稿したので、エラーの原因となったweb.configの正確な行を追跡しました。
行は次のとおりです(<System.webServer>
タグの間に表示されます)...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpHandlers>
注:行を削除するとbetween<httpHandlers>
エラーが発生します。上記のエラーが発生しないようにするには、<httpHandlers>
(およびその間の行)を文字通り削除する必要があります。
これを実行すると、new500.19エラーが発生します。ありがたいことに、今回はIISが実際にweb.configのどのビットが問題を引き起こしているのかを教えてくれます...
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
これらの行を見ると、問題が同じ<system.webServer>
タグ内から<handlers>
タグにさらに移行していることが明らかです。
また、新しいエラーはより明示的であり、属性「validate」を認識しないことを明確に訴えます(上記の3行目を参照)。この属性を削除すると、同じ行に必要な「名前」属性がないと文句を言われます。この属性を追加すると、ASP.NET error ...が表示されます.
ファイルまたはアセンブリ「System.web.Extensions、Version = 1.0.61025.0、Culture = neutral、PublicKeyToken = f2cb5667dc123a56」またはその依存関係をロードできませんでした。システムは指定されたファイルを見つけることができません。
明らかに、これらの新しいエラーは、最初に<httpHandlers>
タグを削除したことによって生じたものだと思います-それらは明らかにアプリケーションに必要です-したがって、疑問は残ります:なぜこれらのタグは最初のIISのエラー???
それらを使用するには、IISに何かをインストールする必要がありますか?
助けてくれてありがとう。
WEB.CONFIG
web.Config ...の厄介な部分を以下に示します。これが誰かが私たちの問題を見つけるのに役立つことを願っています!
<system.Web>
<!-- stuff cut out -->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</modules>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
</system.webServer>
あぁ!私はこの問題を克服しました!私の神様、それは私のような、IISの経験が限られた人にとっては獣でした。週末中ずっとそれを修正することに費やそうと本当に思った。
この邪悪な問題に遭遇したことがある人のための解決策がここにあります。
最初に注意すること:これがあなたの解決策であることを望んでいるなら、同じエラーコード(0x8007000d)とConfig Sourceがあることを確認してください(-1:0:)。そうでない場合、これはソリューションではありません。
次の点に注意してください:AJAXがweb.configに正しくインストールされていません!
このガイドに従って修正してください:
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx
次に、次のリンクからAJAX 1.0拡張機能を運用サーバーにインストールします。
http://www.asp.net/ajax/downloads/archive/
Update:Microsoftは上記のページを削除したようです:(
それでおしまい!
これらの正確な症状があり、私の問題はピーターの問題に似ていました。新しいサーバーに既存のプロジェクトを設定していました。私のプロジェクトはIIS7 URL Rewritingモジュールを参照しましたが、新しいサーバーにはまだインストールされていませんでした。インストールすると問題が解決しました。
Microsoft Web Platform Installerを使用してインストールできます。実行し、Productsを選択し、左側のメニューでServerを選択し、URL Rewriteリストに追加してインストールします。
または、ダウンロードすることができます こちら 。
新しいマシンで1日間これと戦った後、次のリンクに出会いました。書き換えモジュールがありませんでした。これですべてが修正されました。
http://forums.iis.net/t/1176834.aspx
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
上記と同じ問題、同じエラーコードなどがありました。Windows8でローカルWebサイトをセットアップしました。多くの検索を行った結果、URL書き換えが欠落していることがわかりました。それをダウンロードした後、すべてが大丈夫だった。 :)
Server 2016での同じ問題、IIS 10、500.19エラー。リダイレクトモジュールをインストールし、動作しました。これがデフォルトで含まれていない理由はわかりません。
https://www.iis.net/downloads/Microsoft/url-rewrite#additionalDownloads
明確にするために、IIS 7のweb.configは動作するか、動作するように設計されているように見えますが、このモジュールがないと、本当に奇妙で役に立たないエラーになります。グーグルは、あなたのサイトが破損しているか、web.configが破損していることを主張するMicrosoftページに移動します。どちらも当てはまらないようです。
その役に立たないページはこちらです: https://support.Microsoft.com/en-us/kb/942055
私は同じ症状を解決しようとして何時間も費やしたので、別の問題を追加しただけです。
考えられる原因は、64ビットアプリプール内のx86 dllです。解決策は、アプリケーションプール設定で32ビットアプリを有効にすることです。
私にとっては、asp.netをiisに再登録するのがうまくいきました。うまくいけば、それは他の誰かを助ける。
aspnet_regiis.exe -i
ここと他の場所での回答に基づいて要約するには:
明確な理由なしに500.19のエラーを取得するもう1つの方法は、ディレクトリの欠落および/またはそれらに対する権限の破損です。
この質問の場合、質問は完全なIISバージョンについて尋ねていると思います。私はこの行のためにこれを仮定しています:
Config File \\?\E:\wwwroot\web.config
通常、IISインストーラーはwwwroot
を作成します。これは、すべてのWebサイトのデフォルトルートフォルダーであり、仮想ディレクトリのマウントポイントです。それは常に存在するので、問題はありません。通常はあまり気にしません。
Web.configファイルは階層的であるため、そこにマスターweb.configファイルを配置し、そこにいくつかのルート設定を行うことができ、すべてのサイトがそれを継承します。 IISは、そのファイルが存在するかどうかを確認し、ロードしようとします。
ただし、最初の楽しい部分:
IISが正しくインストールされている場合、このディレクトリが存在します。存在しない場合は、500クラスのエラーが発生します。ただし、ファイル/ディレクトリのアクセス許可、特に「高度な」アクセス許可を使用すると、実際には誤ってdeny IISサービスアカウントがこのディレクトリのコンテンツをスキャン/読み取りできなくなります。 IISがそのwwwroot\web.configが存在するかどうかを確認できない場合、または存在してIISがそれを開いて読み取ることができない場合-bam-500クラスエラー。
ただし、完全なIISの場合はほとんどありません。完全なIISで作業する開発者/管理者は、通常、wwwroot
で遊ぶことに消極的であるため、通常は適切に構成されたままです。
通常、IIS Expressは「正常に動作します」。多くの場合、IIS Expressを使用する開発者は、内部的に実際のIISにどれだけ似ているかを知らないことがよくあります。
IIS Expressには独自のapplicationHost.configファイルがあり、VSがそれを作成し、(ある程度まで)正しく管理しているという事実と、それが最初は見た目ほど簡単ではなく、ポイントアンドクリックではありません。
その構成ファイルとは別に、VisualStudioはDocuments
フォルダーの下に空のディレクトリ構造も作成します。正しく覚えていれば、IIS ExpressはこれらのフォルダーをWebサイトのルートディレクトリと見なし、その上に仮想ディレクトリがコードと共にマウントされます。
後で、IISと同様、IIS Expressが起動すると、expectsこれらのフォルダーが存在し、そこにルートweb.configファイルがあるかどうかを確認します。 site web.configファイル。ほとんどの場合、これらのweb.configファイルは欠落しています-必要ないので大丈夫です-あなたの** application web.config "があり、それらは仮想ディレクトリ内の残りのコンテンツと共に配置されます。
さて、2番目の楽しい部分は次のとおりです。IIS Express expectsその空のディレクトリ。空にすることもできますが、存在する必要があります。それらが存在しない場合、そのパスにある「web.config」ファイルにアクセスできないことを通知する500クラスのエラーが表示されます。
この問題に最初に出会ったのは、ハードドライブをクリアしたときでした。ゴミだらけの「documents\websites」フォルダを見つけました。作業していない数年前のプロジェクトを認識しました。すべてが空で、単一のファイルではないため、すべて削除しました。 1週間後-bam-現在作業していたサイトを実行/デバッグできません。エラーは500.19で、構成ファイルを読み取れません。
したがって、IIS Expressを使用し、構成の読み取りに関する500クラスのエラーが表示される場合は、エラーメッセージを注意深く確認し、記載されているすべてのパスを読み取ります。次のようなものが表示された場合:
c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..
エラーが示す場所に正確に移動し、これらのフォルダーが存在することを確認し、IISワーカーアカウントがそれらをトラバースして読み取ることができることを確認します。
ところで。 VisualStudioのProjectProperties/Webには、[仮想ディレクトリの作成]ボタンがあります。基本的にこれを行うので、最初に試すことができますが、IIRCはapplicationHost.configファイルの構成セクションをクリア/上書き/スワップすることもできるため、カスタムセットアップがある場合はそのボタンに注意してください。
私の場合、.NET Core Windows Hosting Bundleのインストールに問題がありました。
私はそれをインストールし、インストール後にIISを使用して(「net stop was/y」および「net start w3svc」)再起動しましたが、エラーコード0x8007000dおよび構成ソース-1で500.19エラーが発生しました0 :.
.NET Core Windows Hosting Bundleのインストールを修復し、上記のコマンドを使用してIISを再起動することで、問題を解決できました。
これが誰かを助けることを願っています!
同じエラーが発生しました。 .NET Frameworkバージョン2.0のIISサイトがありましたが、アプリには4.0が必要でした。私はバージョンを変更し、それは働いた。
誰かが同じ問題を抱えている可能性がある場合のリマインダーとしての投稿。
Web.configファイルの次の行をコメント化します。
<modules>
<!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
<!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>
これは動作します。
私のIIS 7.5はweb.configのタグを理解しませんVS 2010では、そのタグにも下線が引かれています。構成ファイルを正確にチェックして、下線付きのタグをすべて見つけてください。コメントに入れるとエラーは消えます。
この素敵で詳細なエラーは、2019年にも存在しています! web.config
が有効でアクセス可能な場合は、おそらく依存関係の問題であると付け加えます。
OPで言及されているように、それはAJAX
モジュールであり、他の人がよく言っているようにRewrite
モジュールです。エラーコードx8007000dはANYの依存関係になる可能性があるため、タグが参照しているモジュールとライブラリをweb.configで確認してください。
私の場合、AspNetCore
バンドルが見つからず、インストールする必要があることに気づきませんでした!この投稿を見つけてとても嬉しいです!!
これは関係があるかもしれませんし、関係ないかもしれません...私は上記と同じエラーから始めて、グーグルを始め、変更を加え、新しいエラーを取得し、無限ループを起こしました。
そのエラーによって私を導いた変更は、サーバーの[管理]セクションの下のIIS Managerの機能の委任を台無しにしていました。どちらを変更したか覚えていないのが残念ですが、グーグルは役に立つかもしれません。
それは、私が最初のエラーを過ぎて、まったくまったく無意味な他のまったく新しいストリームになったのです。 (仮想ディレクトリの下で実行すると、1つのエラーが発生し、それをアプリケーションに変換すると、別のエラーが発生します(etecなど)。この一連のエラーを最終的に解決したのは、IIS manager、Application Pools、DefaultAppPool、Enable 32-Bit applications = True
このアプリは32ビットWindows XPボックスで起動していましたが、現在は64ビットWindows 7ボックスで実行しています。
だから、うまくいけば、これは他の誰かを助ける。
このエラーは、<customErrors>
タグを、それが属する<system.webServer>
ではなく、<system.web>
の内部に配置することで発生しました。 <customErrors>
タグの下に小さな波線がありましたが、すぐには気づきませんでした。
Windows 7
これを試して、
cmdを管理者として実行します。
すべてのIISを展開します。
start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService
Iisを再インストールすると、正常に機能します
アラン
Windows 7でも同じ問題が発生しました。
解決策は、デフォルトの「パススルー」の代わりに、基本設定>接続先>特定のユーザーに移動し、ユーザーとしてログインすることでした
これで問題が解決しました。