C# デバッグ構成のプロジェクト設定 (.NET Core、.NET 5+、ASP.NET Core) の設定
C# プロジェクトのデバッグ設定は、プロジェクト プロパティ ページの [デバッグ] タブと [ビルド] タブ で変更できます。
プロパティ ページを開くには、ソリューション エクスプローラーでプロジェクトを選択して [プロパティ] アイコンを選択するか、プロジェクトを右クリックして [プロパティ] を選択します。
詳細については、デバッグ構成とリリース構成に関するページを参照してください。
重要
これらの設定は、UWP アプリまたは .NET Framework には適用されません。 .NET Framework のデバッグ設定を構成するには、「C# デバッグ構成のプロジェクト設定」を参照してください。
[デバッグ] タブ
Visual Studio 2022 からは、[デバッグ] タブで [デバッグ起動プロファイルUI を開く] を選択して起動プロファイル UI を開き、デバッグ設定を変更します。
起動プロファイル (.NET Core、.NET 5+)
設定 | 説明 |
---|---|
コマンドライン引数 | デバッグするアプリのコマンド ライン引数を指定します。 コマンド名は、[外部プログラムの開始] に指定したアプリ名です。 |
作業ディレクトリ | デバッグするアプリの作業ディレクトリを指定します。 C# の作業ディレクトリは、既定で \bin\debug です。 |
リモート コンピューターの使用 | リモート デバッグの場合は、このオプションを選択し、リモート デバッグ ターゲットの名前 (Msvsmon サーバー名) を入力します。 リモート マシン上のアプリの場所は、[ビルド] タブの [出力パス] プロパティで指定します。また、EXE ファイルがリモート コンピューターの共有ディレクトリにあることも必要です。 |
環境変数 | アプリケーション プロセスを実行する前に環境変数を設定します。 ASP.NET Core の場合は、「環境」を参照してください。 |
アンマネージ コード デバッグを有効にする | マネージ アプリからネイティブ (アンマネージ) Win32 コードへの呼び出しをデバッグします。 |
SQL Server デバッグを有効にする | SQL Server データベース オブジェクトをデバッグします。 |
WebView2 デバッグを有効にする | Microsoft Edge (Chromium) ベースのデバッガーで JavaScript をデバッグします。 |
起動プロファイル (ASP.NET Core)
.NET 5+ のプロパティに加えて、ASP.NET Core の起動プロファイルには、さまざまな ASP.NET Core プロファイルに対していくつかの追加プロパティ含まれています。 これらの設定により、プロジェクトの launchSettings.json ファイルのシンプルな UI が提供されます。 このファイルの詳細については、「ASP.NET Core で複数の環境を使用する」の「開発と launchSettings」セクションを参照してください。
起動プロファイル UI に用意されている設定は次のとおりです。
設定 | 説明 |
---|---|
ブラウザーを起動する | [Url] 設定で設定した URL を使用して、デバッグを開始するときに既定のブラウザーを起動するかどうかを選択します。 |
Url | .NET または .NET Core のホスト URL の場所を指定します。 プロジェクトにちなんで名前が付けられたプロファイル (つまり、launchSettings.jsonの commandName プロパティは Project) の場合、Kestrel サーバーは指定されたポートをリッスンします。 IIS プロファイルの場合、これは通常、アプリの URL と同じ値です。 詳細については、「プロジェクトを構成する」の「IIS 起動プロファイル」セクションを参照してください。 |
アプリの URL | アプリケーションの URL を指定します。 プロジェクトにちなんで名前が付けられたプロファイルの場合、このプロパティにより Kestrel サーバーの URL (通常は https://localhost:5001 と http://localhost:5000 ) が指定されます |
Visual Studio では、既定で IIS Express のプロファイルが提供されますが、IIS プロファイルなどの追加のプロファイルも作成できます。 これらの設定は、launchSettings.json の設定にも対応します。 これら 2 つのプロファイルの種類では、ホスティング モデルなど、いくつかの設定が提供されます。
設定 | 説明 |
---|---|
ホスティング モデル | [プロセス内] (既定) または [プロセス外] を指定します。 詳細については、ASP.NET Core ドキュメントの「ホスティング モデル」を参照してください。 |
アプリの SSL URL | IIS Express の場合、[アプリの SSL URL] は通常 http://localhost:44334. です。 |
[ビルド] タブ
次の表は、デバッグに役立つビルド設定を示しています。 ビルド設定の完全な説明については、「[ビルド] ページ (プロジェクト デザイナー)」を参照してください。
設定 | 説明 |
---|---|
[全般]>[条件付きコンパイル シンボル] | 選択されている場合は、DEBUG 定数と TRACE 定数を定義します。 これらの定数により、Debug クラスと Trace クラスの条件付きコンパイルが有効になります。 これらの定数を定義すると、Debug クラスと Trace クラスのメソッドによって出力ウィンドウに出力が生成されます。 これらの定数を定義しない場合、Debug クラスと Trace クラスのメソッドはコンパイルされず、出力も生成されません。 通常、DEBUG はビルドのデバッグ バージョンで定義され、リリース バージョンでは定義されません。 TRACE は、デバッグ バージョンとリリース バージョンの両方で定義されます。 |
[全般]>[コードの最適化] | 最適化されたコードでのみバグが発生する場合を除き、この設定は、デバッグ ビルドではオフのままにしておきます。 最適化されたコードは、命令がソース コードのステートメントに直接対応していないため、デバッグが難しくなります。 |
デバッグ シンボル | コンパイラによって生成されるデバッグ情報の種類を指定します。 「デバッグ シンボル」を参照してください。 アプリケーションのデバッグ パフォーマンスを構成する方法については、「イメージのデバッグの簡略化」を参照してください。 |
[出力]>[基本出力パス] | 中間出力の基本フォルダーを指定します。 出力は通常、デバッグ ビルドの bin\Debug に出力されます。 |
[出力]>[基本中間出力パス] | 中間出力の基本フォルダーを指定します。 出力は通常、デバッグ ビルドの obj\Debug に出力されます。 |
デバッグ シンボル
デバッグ シンボルには、次のオプションを選択できます。
シンボルは生成されません
デバッグ情報を生成しないことを指定します。
PDB ファイル、現在のプラットフォーム
プラットフォーム固有のシンボル ファイルである .PDB ファイルを生成します。このファイルは、他のツール、特にデバッガーに、主要な実行可能ファイルの内容やそれが作られた経緯に関する情報を提供します。
PDB ファイル、移植可能
プラットフォーム固有ではない、移植可能なシンボル ファイルである .PDB ファイルを生成します。このファイルは、他のツール、特にデバッガーに、主要な実行可能ファイルの内容やそれが作られた経緯に関する情報を提供します。 詳細については、「ポータブル PDB」を参照してください。
DLL/EXE に組み込まれ、プラットフォーム間で移植可能
ポータブル シンボル情報をアセンブリに埋め込みます。 外部 .PDB ファイルは作成されません。
詳しくは、「/debug (C# コンパイラ オプション)」をご覧ください。