12

ASP.NET MVCプロジェクトがあり、このプロジェクトの領域としてASP.NETWebAPIが定義されています。したがって、構造は次のとおりです。

MVC Web
   Controllers
   Views
   Areas
     API (web API)
       Controllers

アプリは期待どおりに動作します。ただし、デバッグに問題があります。MVCコントローラーにデバッガーを配置できますが、期待どおりに機能します。「ブレークポイントは現在ヒットしません。このドキュメントのシンボルはロードされていません」というメッセージが表示されるため、WebAPIコントローラーにブレークポイントを設定できません。私はしばらくの間それの苦しみにあったので、それはおそらく簡単な修正ですが、私はそれを理解することができません。MVCコントローラーをデバッグできるのに、Web APIコントローラーでこの問題が発生する理由はありますか?

4

9 に答える 9

25

永続的な解決策が見つかるまで、このメソッドSystem.Diagnostics.Debugger.Break()を使用して、ブレークポイントのように、その行で強制的にブレークを発生させることができます。

public ActionResult IndexCheckInOut(string providerKey, DateTime? date = null)
{
    System.Diagnostics.Debugger.Break();   
    return View("Index");
}

より永続的な解決策を見つけるのに役立つ可能性のある記事へのリンクを次に示します。

ブレークポイントは現在ヒットしません

VisualStudioデバッガーを使用してASP.NETMVCソースコードにステップインする

于 2013-01-01T13:22:06.360 に答える
5

私にとっては、IISを停止してVisualStudioを再起動するだけでうまくいきました。さらに調査する前に、ぜひ試してみる価値があります。

于 2016-10-04T11:41:47.050 に答える
4

考えられる解決策:以前にリモートデバッグを行っていたことを忘れており、MicrosoftSymbolServerではなくUNCパスからロードされるようにデバッグシンボルを設定していました。

このヘッドを修正するには:[ツール]->[オプション]->[デバッグ]->[シンボル]->[Microsoftシンボルサーバー]がオンになっていることを確認します。

また、この問題は、新しいソリューション構成を作成し、DEBUG構成などの既存の構成に基づいていないことからもわかりました。これによりDebug Info、に設定されましたnone

これを修正するには:プロジェクトを右クリック->プロパティ->ビルド->障害のあるソリューション構成が設定されていることを確認します->クリックAdvanced->に変更Debug Infofullます。

于 2016-06-07T01:23:08.627 に答える
3

開ける:

ツール-オプション-デバッグ-一般

選択する:

  • .NETFrameworkのソースステッピングを有効にする

  • ソースサーバーのサポートを有効にする(すべてのオプションを選択)

開ける:

ツール-オプション-記号

MicrosoftSymbolServersを選択します

[すべてのシンボルをロード]をクリックします

プロジェクトを再構築します。

選択する:

綺麗

再構築

ソリューションを再構築して、再試行してください。

于 2019-02-25T18:00:42.123 に答える
1

自分でこの問題が発生し、Visual Studioがプロジェクトを「リリース」モードで実行するように不思議に切り替わったことに気付くまで、約1時間髪を引き裂いていました。「デバッグ」モードに戻って再構築すると、問題が解決しました。

おそらくこの問題に対する非常にニッチな答えですが、うまくいけば、これは誰かを助けるでしょう。

于 2019-09-11T15:23:46.423 に答える
0

これで私の問題は解決しました:

  • IIS Express(Windowsクロックの横にある)システムトレイ内のすべてのインスタンスを閉じる\終了します。
  • プロジェクトディレクトリ内のフォルダを削除binしますobj
  • VisualStudioを再起動します
  • もう一度実行してください

ここに画像の説明を入力してください

于 2019-01-23T14:47:50.820 に答える
0

私は同じ問題を抱えていましたが、私のものは構成変換の追加に関連していました。[アクティブなソリューションの構成]で[ビルド]>[構成マネージャー]に移動し、[デバッグ]が選択されていることを確認します。

于 2019-09-11T19:03:27.100 に答える
0

私の問題は次のとおりでした

IISで仮想ディレクトリを作成し、http:// WebAPI / swagger / ui / indexのような開始URLリンクでその名前を使用しました(上記のすべての手順でロードされていないシンボル)

  1. IISExpressを使用する
  2. WebAPIと呼ばれるIISマネージャーからWebサイトを削除しました
  3. 変更した開始URLはhttp:// localhost:59788 / swagger / ui / index(Visual Studioのデフォルトポート)です。

これで、すべてのシンボルがロードされました。

于 2021-04-08T12:08:15.377 に答える
0

デバッグが機能し、突然機能しなくなった場合、私の経験で最も一般的な理由はIISの問題です。

  1. プロジェクト->プロパティ->プロジェクトのURLが正しいことを確認してください。
  2. IISResetを使用してIISをリセットします
于 2021-09-23T10:56:26.277 に答える