17

Kestrel でホストされている ASP.NET 5 API プロジェクトで参照されている DNX プロジェクトをデバッグするときに、ブレークポイントがヒットしません (すべて同じソリューションと src フォルダーにあります)。IIS Express でのデバッグは正常に機能します。

この問題を解決するには、どのようなトラブルシューティング手順を実行できますか?

デバッグ時に DNX プロジェクトでバイナリや PDB が作成されないため、どこから始めればよいか非常にわかりません。

project.json コマンド:

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},

プロジェクトのプロパティ:

プロジェクトのプロパティ

注:すべてのプロジェクトでRC11.0.0-rc1-finalライブラリを使用します。

編集:

  • Startup.cs プロジェクトのブレークポイントは問題なくヒットしますが、他のプロジェクトではヒットしません。
  • 1.0.0-rc1-update1DNX ランタイムを再確認し、再インストールしました。他のすべてのランタイムをアンインストールしました。
  • PATH が DNX ランタイムを正しく反映していることを確認しました。
  • すべてのproject.lock.jsonファイルを削除し、DNU を復元しました。
  • 実際のブレークポイント ピンは赤で、問題があることを示しているわけではありません。
  • global.json は正しいランタイムを使用しています:

    {
      "projects": [ "src", "test", "." ],
      "sdk": {
          "version": "1.0.0-rc1-update1",
          "runtime": "clr",
          "architecture": "x86"
      }
    }
    

編集2:

[モジュール] ウィンドウで、プロジェクトのシンボルが読み込まれていないことがわかります。

モジュール

どうすればこれを修正できますか?

編集3:

この問題は、複数のスタートアップ プロジェクトを同時に実行している場合にのみ発生することがわかりました。1 つのプロジェクトを実行する場合、デバッグはソリューション内のすべてのプロジェクトで正常に機能します。

ここに画像の説明を入力

これを修正する方法と、なぜそれが起こっているのかわかりません。

4

2 に答える 2

1

この問題をaspnet/Tooling GitHub リポジトリに提出しました。これはバグであり、Visual Studio 2015 Update 2 リリースでのみ修正されるというのがコンセンサスです。

暫定的な解決策は、プロセスごとに VS の個別のインスタンスを使用することです。

こちらの問題を参照してください。

于 2016-01-14T11:01:26.033 に答える
0

私はまったく同じ問題を一日中過ごしていますが、それでも役に立ちません。プロジェクトを再作成しましたが、プロジェクトが作成された後の最初のデバッグで MVC コアのコントローラー クラスにヒットするのは奇妙ですが、その後はメイン クラス、つまり startup.cs だけが毎回ブレークポイントにヒットします。

于 2016-11-16T14:11:00.873 に答える