Webサーバーでデバッグを開始できません。ASP.NETデバッグを開始できませんでしたVS 2010、II7、Win 7 x64


92

Visual Studio 2010(管理者として)、IIS 7をWindows 7 x64で実行しています。うまくデバッグせずにIIS 7でASP.NET Webサイトを実行できますが、F5キーを押してデバッグすると、次のようになります。

Webサーバーでデバッグを開始できません。ASP.NETデバッグを開始できませんでした。デバッグせずにプロジェクトを開始すると、詳細情報が利用できる場合があります。

残念ながら、ヘルプリンクはあまり役に立ちませんでしたが、大規模なもののツリーの全体を導きます。

私は以下をチェックしました:

  • セキュリティ要件—以前に特別なことをしなければならなかったことを思い出しません。IIS7のワーカープロセスはw3wp.exeです。ASPNETまたはNETWORK SERVICEとして実行している場合、デバッグするには管理者権限が必要であると記載されています。ここで何かを変更する必要があるかどうかを確認するにはどうすればよいですか?

  • Webサイトの[プロパティページ]> [開始オプション]> [デバッガー]> [ASP.NET]がオンになっています。[カスタムサーバーを使用]は、サイトのURLに設定されています(デバッグなしで正常に機能します)。

  • でデバッグが有効になっていweb.configます。

  • アプリケーションはASP.NET 3.5を使用しています(最終的には4.0に移動したいのですが、移行する必要があります)。

  • アプリケーションプール:.NET AppPoolを分類しています(DefaultAppPoolも試しました)。

次に確認できるアイデアはありますか?

確かに、IIS、VSのインストール、Webサイトの作成、テストの開始はそれほど難しくありませんか?

前もって感謝します。


1
Visual Studioを起動したときにそれを右クリックして[管理者として実行]オプションを選択したことを明確にするために、
アーロンカールソン

このリンクはもうチェックアウトしましたか?msdn.microsoft.com/en-us/library/dwesw3ee.aspx
アーロンカールソン、

@Aaron、はい、実際にはVSを常に管理者として実行するように設定しています。
Dan C

@Aaron、私はここに投稿する前にそのページとその子を明示的に調べましたが、私がする必要があることは何も目立ちませんでした。私のシステムは要件を満たし、サイトのデバッグがオンになっています。私はWindows Server 2003を持っていないので、そこでIISを構成することはありません。必要があるかどうかわからないので、セキュリティ設定には触れていません。
Dan C

これが役立つかどうかはわかりませんが、VS 2010で新しいテストASP.NET 3.5 Webサイトを作成しようとしましたが、特別な構成なしでIIS 7に追加し、正常にデバッグすることができました。VS、IIS、またはおそらくファイルシステムでの設定方法を含む、私のメインアプリケーションの何か。どこから探し始めるかわからない。
Dan C

回答:


239

IISに移動して、使用しているアプリケーションプールが開始されていることを確認してください。多くの場合、アプリプールをシャットダウンするエラーが発生します。右クリックして「開始」するだけでよいのです。


ありがとう、金曜日にこの投稿を見つけたい!プールが止まり、最初のエラーが発生しました
Christopher Cabezudo Rodriguez 2013

私の場合、ISAPIおよびCGIの制限でASP.NET v4.0.30319を許可する必要がありました
Adi

15
+1アプリプールの認証に使用された不正なユーザー名/パスワード。
P.Brian.Mackey 14年

3
私の場合、プールは既に開始されていましたが、停止して再開すると、正常に機能しました。
Serj Sagan

1
ありがとう。このソリューションは私にとっては完璧に機能しました。さらにアプリケーションプールを再起動する必要がありました。
Sunil

44

犯人はIISのURL書き換えモジュールであることが判明しました。Default.aspxWebサイトの開始ページとして設定されています)への呼び出しをサイトのルートにリダイレクトするルールを定義して、正規のホームURLを作成できるようにしました。しかし、どうやらVSはこれに問題があり、混乱しました。Helicon ISAPI_Rewriteを使用している場合、この問題は発生しなかったため、確認する必要はありませんでした。

私はまったく新しいWebサイトを最初から作成し、プロジェクト/ファイルを少しずつ私のソリューションに移植し、これが見つかるまでweb.configを再構築しました!まあ、少なくとも今は.NET 4.0を使用した少しクリーンなサイトがあります(これまでのところ、壁にぶつからないことを願っています)。


6
はい。ただし、アプリケーションプールとポータルも実行されている必要があります。
JuniorMayhé、2011

そのメモでは、私の問題は以下のweb.configにありました:<applicationInitialization remapManagedRequestsTo = "/ App / splash.html" doAppInitAfterRestart = "true" lockAttributes = ""> <addinitializationPage = "App / index.html" hostName = " CSI "lockItem =" true "/> </ applicationInitialization>。アプリケーションの初期化中にスプラッシュスクリーンを表示するためにそれを使用していました。
Nick

6
これで終わりです。すべてのHTTPトラフィックをHTTPSに送信する書き換えルールが原因で、この醜いエラーが発生していました。デバッグのためにルールを維持する方法を見つけることができませんでした。
Kat 2016年

追加したかったのは似ていますが、SSLの書き換えは開始パスがlocalhost / appnameであることを意味していましたが、リダイレクトによってlocalhost / appnameに送信されたため、リダイレクトを処理できないため、VSでエラーが発生しました。 。IISでローカルにテストするとき、すべてが完璧に機能するように、この問題を見つけるのに1時間以上
かかりました

ここでも同じ問題(IIS Url Rewriteモジュール)。私のルールをに移動することで解決しますWeb.Release.configweblogs.asp.net/srkirkland/…およびstackoverflow.com/questions/11032868/…を参照してください。
Swisher Sweet

42

Visual Studioは、起動時に(何らかの理由で)URLへのアクセスを試みます。

/debugattach.aspx

たとえば、.aspxファイルを別の場所にリダイレクトする(またはキャッチする)書き換えルールがある場合、このエラーが発生します。解決策は、あなたの最初に、このセクションを追加することですweb.config<system.webServer>/<rewrite>/<rules>セクション:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

これにより、この特定の要求を確実にキャッチし、何も実行せず、最も重要なこととして実行を停止して、他のルールが実行されないようにします。これは堅牢なソリューションであるため、本番用の構成ファイルに自由に保持してください。


1
これは残念ながら個人的には機能しませんでしたが、web.configのrewriteセクションをコメントアウトしたため、問題なく実行できるため、間違いなく何らかの書き換えの問題であることを確認できます。
Matt

ここからソリューションを試してみたいかもしれません:stackoverflow.com/a/30813200/375303。私にとっては魅力のように機能します。
jerhewet 2015年

Visual Studioは、DebugAttach.aspxに関連するエラーをここに記録します:%UserProfile%\ AppData \ Local \ Temp \ Visual Studio Web Debugger.log(そのファイルがない場合、または古いファイルである場合、問題おそらくDebugAttach.aspxとは関係ありません。)
Brandon S

私の場合、根本的な原因は正しいですが、解決策ではありません。私にとって、これはうまく<location path="debugattach.aspx"> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"> <clear /> </httpErrors> </system.webServer> </location>
いき

私にとっての問題は「/debugattach.aspx」が原因でしたが、解決策はerroModeを「DetailedLocalOnly」にも変更することでした。
Nashe、2017

30

他の人のために、私の場合、ネットワークリソース共有にアクセスするためにWindows資格情報を使用するようにアプリケーションプールを構成しました。ソリューションを最後にデバッグしてから、Windowsパスワードをリセットしました。アプリプールとバダビングに保存されている変更されたパスワード。


おかげで私はネットワーク共有を使用していませんでしたが、これはうまくいきました。
Marissa 14

21

ApplicationPool Identityがカスタムアカウントに設定され、コンピューターのパスワードが変更された場合、パスワードを更新する必要があります


はい、問題がありました。ここからいくつかの答えを試してみましたが、結果はありませんでした。あなたの答えが本当に役に立ちました。
Vadzim Savenok

19

私のシナリオでは、web.configのhttpErrorsセクションを変更し、次のように設定しました。

<httpErrors mode="Custom"> 

「Webサーバーでデバッグを開始できません」問題が発生しました。これを「DetailedLocalOnly」の以前の値に戻すと、問題が修正されました。少し深く掘り下げたところ、これが実際に発生しているのは401エラー設定だけであることがわかりました。

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

401エラー行をコメントアウトして問題も修正しました。カスタムエラー処理を維持してデバッグを開始できるので、それで問題ありませんでした。

なぜこれが起こっているのか私にはまだわかりません。


同じ原因で、デバッグを開始しようとしたときにログで401の応答が見られました。デフォルトのエラー処理を無効にすると、「vs can debug site」の問題が解決しました。vsでデバッグを開始するときに、ログインページでも401が発生する理由がわかりません。匿名アクセスとWebフォーム認証のみです。がアクティブになります。
フレデリック

これは私のために修正したとしても、私だけではなく、明示的に401のための1つを定義するデフォルトのエラーパスを設定している
tuespetre

これは私にとってうまくいきました(私は一時的にhttperrorsセクション全体を削除しました)。以前に試してみたが機能しなかったのは、アプリプールを再起動してURL書き換えルールを削除することでした。
Nicholas Westby

これは私がうまくいったことです。@Pablo Romeoがこの回答に書いたように、カスタムエラーを変更しました:stackoverflow.com/a/13905859/4489664
Bondaryuk Vladimir

2
erroModeを "DetailedLocalOnly"に変更すると、私も解決しました。デバッガーは "/DebugAttach.aspx"を開こうとしましたが、指定された時間に実行できないカスタムエラーページに移動しました。
Nashe、2017

13

アプリケーションプールを確認してください。停止した場合。再起動してください。


4
これは、1か月前に提案された1番目の回答と同じです。
mac10688

それでいいのですが、なぜそれが毎回停止するのですか?
Fernando Torres

アプリケーションプールは、パスワードが変更されたユーザーで実行されていました。
アンダーソン、

11

DNN(Dot Net Nuke)モジュールをデバッグしようとして同じ問題がありました。コンパイルdebug = "true"が必要であることがわかりました:

<compilation debug="true" strict="false" targetFramework="4.0"> 

あなたのweb.configで。デフォルトでは、DNNではfalseです。ここに元のソース:http : //www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts


ありがとうございました!!私は一日中髪を引きちぎっていましたが、修正はとても簡単でした。VSだけが意味のあるエラーメッセージを表示できる場合!
colincameron

8

rewriteモジュールを実装した後も、まったく同じ問題があります。

web.configファイルから書き換えエントリを削除すると、デバッグは完全に機能します。

これを回避するために、デバッグ中にリライトタグをコメントアウトするだけです。

<rewrite>
    <rules>
        <rule name="LowerCaseRule_1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
        <rule name="RedirectDefault.aspx_1" stopProcessing="true">
            <match url="(.*)default.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

その後、デバッグ後にコメントを削除します。

Visual Studio 2010のバグである必要があります。


1
確かに、それは回避策ですが、サイトのコミットまたは公開の前にこのようなコメントを削除するのを忘れることが本当に簡単なので、貧弱なものです。
Jon Adams

1
これらの行をweb.config.release構成ファイルに移動できるため、公開すると、公開されたバージョンのみになります。それが私がしたことです。
シャルケ

たぶん/debugattach.aspxを除外するだけで十分です。ピーターモンクスのコメントを
ご覧ください

6

IISでアプリケーションプールが停止したため、同じエラーが発生しました。アプリプールを開始した後、問題は解決されました。


私の問題も解決しました!DefaultAppPoolが停止したことがわかりました。これを共有してくれてありがとう。なぜ止まったのか理解できません。
Jobert Enamno、2014年

5

これは、あなたが指摘したエラーをクリアするために私がしたことです。移動し、ファイルシステム内のアプリのためのウェブフォルダを見つけ=>セキュリティプロパティ ]をクリックし高度のクリックボタンを所有者 ]タブをクリックし[編集]ボタンをして、フォルダの(適切な権限を持つ)所有者を変更し、「チェックしRepalceをサブコンテナとオブジェクトの所有者」チェックボックス。「適用」をクリックすると、私はビジネスに参加しました(デバッグ可能)。

これが他の誰かのために働くことを願っています。


2
所有者を誰に変更しますか?
dumbledad 2013年

5

最後に、これを抱えていた私の単一のソリューションに対してこれを修正しました。ソリューション内の2つのプロジェクトは、IISのサイトとして設定されました。私は行って、両方のプロジェクトの認証の下でASP.Net偽装を有効にしました...そしてVIOLA!最後に、この煩わしいエラーはもうありません!


3

VS 2012でも同じエラーメッセージが表示されましたが、管理者として実行されていませんでした。アプリを管理者として実行すると、別の少し役立つメッセージが表示されました(それを理解することができました)。HTH


3

アプリプールの再起動に問題があるか、単に再起動したくない場合は、WindowsがASP.NET v4.0またはその他のアプリプールで最新の更新を行ったかどうかを確認します。それが私の場合に起こったことです。コンピューターを再起動してからASP.NET v4.0アプリプールを再起動すると、すべてが再び機能しました。


2

ダン、

アーロンの提案に加えて、以下を試してください

  • IIS Webサイトで統合Windows認証が選択されていることを確認します
  • IISの代わりにCassiniを使用してデバッグできますか?

統合Windows認証をオンにするために、次の手順を実行しました:msdn.microsoft.com/en-us/library/x8a5axew.aspxただし、同じエラーが引き続き発生します(iisマネージャーは、チャレンジ認証とログインベース認証の両方を使用できないという警告を表示します-私のサイトではフォーム認証を使用しています)。VS 2010に組み込まれているWebサーバーを使用してサイトをデバッグできますが、機能がありません。
Dan C

IISで新しいWebサイトを作成し、そこにコードを展開してみましたか?好奇心から、Cassiniでデバッグした場合、どの機能が失われるでしょうか?私の知る限り、Cassiniはフォーム認証をサポートしています。
Keefu

「IISで新しいWebサイトを作成する」とはどういう意味ですか?これは、新しいOS、VS2010、IISがインストールされた新しいコンピューターです。IISで新しいアプリケーションを作成し、それを実際のWebサイトのフォルダーにポイントしました(バックアップから取得)。CassiniでURL書き換えが完全に機能していないようです。また、カスタムモジュールを使用して、httpとhttpsを自動的に切り替えます(codeproject.com/KB/web-security/WebPageSecurity_v2.aspx)。
Dan C

Cassiniは、Url Rewrite 2モジュールをサポートしていません
citronas

2

すべてのIISウィンドウ機能をオンにすると、Windows 10でも同じ問題が発生しました。Windows 8.1に切り替えて、再び問題が発生しました。ルートはWebサイト名 " http://MySite.local "にありました(OSバージョンには関係ありません)。

そして解決は簡単です

  • のホストファイルを編集 %SystemRoot%\System32\drivers\etc\

  • IPバインディングの行を追加します。 127.0.0.1 MySite.local


これは私にとっては宝石であり、ホストファイルの設定を完全に忘れており、ローカルiis(httpsの場合)に切り替えたときにAPIが機能しないのではないかと思っていました。VSは1つのサイトのみで動作していましたが、1秒追加するとデバッグできなくなったため、問題は解決しました。
CDerrig 2016年

1

コードに欠陥があり、IISにリクエストが殺到するような膨大な回数のポストバックが原因で、このエラーが発生しました。これは本質的にIISをロックしているため、デバッグしようとすると、デバッガーを起動しようとして「タイムアウト」しました。IISを再起動したところ、数分かかりましたが、問題は解決しました。

私はこのエラーがより一般的でなかったことを望みます、それを生成するいくつかの異なる方法があるようです。


1

Windows 8.1のVisual Studio 2012および2013でも同じ問題が発生しました。私にとっての修正は、「Windowsの機能をオンまたはオフにする」を使用してIISにWindows認証を追加することでした

Windowsの機能をオンまたはオフにするスクリーンショット


1

サイトのアプリケーションプールが正しいフレームワークバージョンを使用していることを確認してください。ASP.Net 2005サイトで「デバッグを開始できません」エラーが発生しました。Windows 7でDefaultAppPoolを誤って使用していました(.Net Framework 4を使用していたと思います)。.Net Framework 2に基づいて新しいアプリプールを作成し、問題のあるWebサイトに割り当てました。その後、デバッグはうまくいきました。


1

IIS上のWebサイトが停止していないかどうかを確認します。

私は自分のWebサイトを実行するように修正しました。:D


1

私はこの問題を抱えていて、最終的に私がASP.netがIISに正しく登録されていないことに気付きました。これは、Visual Studioの前にIISサーバーがインストールされている場合に発生することがあります。この問題を修正するには、aspnet_regiis -iコマンドを使用します。 詳細については、リンクを参照してください


1

同じ問題がありました。IISにSSL証明書がインストールされていて、それをVisual Studioからデバッグしようとしている場合は、証明書を無視するようにIISでアプリケーションを設定する必要があります。


1

同じ問題がありWeb.config、終了タグの後に誤って文字を入力したことが原因であることがわかりました。私Web.configは最後にこのように見えました:</section>h。「h」は、終了タグの後の追加文字でした。


0

次のような文字列を削除します。web.configのtargetFramework = "4.0"またはAppPoolを適切なフレームワークバージョンに変更します。


0

IIS UrlScan拡張機能をアンインストールすると、問題が解決しました。


0

私は同じ問題に直面していましたが、IISではなくVisual Studios独自のWeb開発サーバー上にありました。回避策は、プロジェクトのプロパティの下にある[Web]タブのオプションをオフにすることです。サーバー設定をすべてのユーザーに適用します(プロジェクトファイルに保存します)。貴重な時間を節約できます。


0

私も同じ問題を抱えていました。上記のすべての答えは私にとってうまくいきませんでした。解決策は、binおよびobjフォルダーを手動で削除することでした。


0

私もこの問題を見つけましたが、@ Kirkが説明したものやURLの書き換えに最も似ていました。

私の場合、誰かがMVCプロジェクトのweb.configファイルにこの変更をチェックインしていました。

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

Webサーバーでは.aspxファイル拡張子が許可されなかったため、/debugattach.aspxURLが拒否され、デバッガーが実行できなくなりました。この構成を削除すると、再び機能しました。


0

Visual Studioでアプリケーションを作成し、プロパティでローカルIISで使用する仮想ディレクトリを作成したときにも、同じ問題が発生しました。誰かがこのエラーを抱えている場合、それはVSが間違ったAppPoolの下、つまり、ニーズに合わないAppPoolの下でアプリケーションを作成するためです。
この場合は、IISマネージャーに移動し、[アプリ]を選択し、[基本設定]に移動して、アプリのAppPoolを変更してください。


0

最近同じエラーが発生しましたが、私の場合、MIMEタイプが重複していることがわかりました。私は最近、最初にリストに表示されなかった2つを追加しました。IISでそれらを追加でき、IISでもエラーが発生したのは、診断プロセスの一環としてサイトのMIMEタイプを再度確認することにしたときだけです。web.configで重複を参照していました。web.configファイルに戻ると、最近追加された2つのMIMEタイプを含む、という新しいセクションが追加されていることに気付きました。そのセクションを削除し、人生は再び良いです!これが他の提案で問題を解決することができなかった他の人を助けることを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.