実行可能タイプの .NET プロジェクトを実行およびデバッグする
.NET の実行可能ファイルプロジェクト(例:コンソールアプリケーション)は、他のプロジェクトタイプと同様に、 実行構成でプロジェクトの起動プロパティを設定し、その構成を デバッガーを接続して Shift+F9 またはデバッグせずに Shift+F10 起動することで、実行およびデバッグができます。
デフォルトでは、JetBrains Rider は実行可能ファイルタイプのプロジェクトを 作成または最初に開くときに、必要な実行構成を作成します。 この構成をカスタマイズしたり、さまざまな起動シナリオ用に同じタイプの構成を追加したりできます。
.NET プロジェクトの実行構成を作成する
以下のいずれかの方法で 実行 / デバッグ構成 ダイアログを開きます。
メインメニューから を選択します。
ナビゲーションバーが表示された状態( )で、実行/デバッグ構成セレクターから を選択します。
Alt+Shift+F10 を押してから、 0 を押します。
実行 / デバッグ構成 ダイアログで、 新規構成の追加
Alt+Insert をクリックし、 .NET プロジェクト 構成タイプを選択して、今後この構成を識別するのに役立つ名前を指定します。
実行可能タイプのスタートアッププロジェクトを選択します。
ターゲットフレームワーク で、この構成の実行に使用される .NET フレームワークのバージョンを選択します。
選択したターゲットプロジェクトの実行可能ファイルへのパスは自動的に計算されますが、必要に応じて変更できます。
必要に応じて、構成の開始時に実行可能ファイルに渡されるプログラム引数を指定します。 複数の引数は空白で区切る必要があります。
一部のプロジェクトタイプ(例:Web アプリケーション)では、ターゲットプロジェクトを正しく開始できるように、このフィールドは JetBrains Rider によって自動的に入力されます。
必要に応じてカスタムの 作業ディレクトリを指定できます。指定しない場合はターゲット実行可能ファイルのディレクトリが使用されます。
必要に応じて、ターゲット実行可能ファイルのカスタム 環境変数(英語)を次の形式で指定します。
envVar1=value1;envVar2=value2オプションで、 .NET ランタイム引数 を指定します。 複数の引数は空白で区切る必要があります。
.NET および Mono では、アプリケーション起動時にカスタムランタイム引数の設定がサポートされています。 例: Mono は、アプリケーションの実行方法をカスタマイズするための 多くのランタイム引数(英語)をサポートしています。 使用するガベージコレクター(
--gc=boehmまたは--gc=sgen)を選択でき、macOS では使用するランタイムアーキテクチャ(--arch=32または--arch=64)を選択することも可能です。オプションで、 ランタイム セレクターを使用して、マシンで使用可能なランタイムの 1 つを選択します。
Windows で作業している場合は、アプリケーションが Mono ランタイムでどのように機能するかを確認できます。 JetBrains Rider は、JetBrains Rider 設定 Ctrl+Alt+S の ページで指定された Mono 実行可能ファイルを使用します。
Mono ランタイムでデバッグするには、以下が必要です。
Mono 4.2+
プロジェクトのポータブル PDB —
<debugtype>portable</debugtype>を .csproj ファイル内に配置、または pdb2mdb を使用して mdb を生成する。
オプションで ターミナルモード を選択してください。 デフォルトでは 自動 が選択されており、JetBrains Rider はプロジェクトと IDE の設定に基づいて最適なターミナル出力モードを決定します。 必要に応じて、ターミナル出力モードを手動で選択することもできます。
自動 - Rider は実行構成と実行可能ファイルの種類に基づいて最適なモードを選択します。
通常、コンソールスタイルのプログラムには PTY(疑似ターミナル) が使われ、対話型ターミナル体験が提供されます(プロセスは本物のターミナルで実行されていると考えます。
isatty()が true の場合、ターミナル制御シーケンスが動作する場合があります)。通常、ターミナルが想定されていない GUI プログラム (たとえば、
/SUBSYSTEM:WINDOWSとリンクすると Windows で自動検出される) には 標準のストリームリダイレクトを使用します。注意:デフォルト設定ではすべての端的なケース(特に Windows では)に対応できないため、出力や対話に問題が発生した場合はモードの切り替えが有効です。
擬似ターミナル有効化 — 擬似ターミナル (Windows では PTY/ConPTY) 内でプロセスを実行します。
対話型プロンプト、TUI アプリ、シェル、readline スタイルの入力など、実際のターミナルを必要とするプログラムに最適です。
「完全なターミナル体験」を有効化:
isatty()が true を返し、ターミナル制御シーケンス(カーソル移動、クリアなど)が動作することが想定されています。既知の制限: ターミナルエミュレーションは、シナリオによっては信頼できない場合があります (たとえば、特に Windows 上の特定のプログラムでの動作が正しくないなど)。
標準ストリームをリダイレクトする — ターミナルで実行するのではなく、リダイレクトを介して
stdin/stdout/stderrをキャプチャーします。Rider 実行ウィンドウで基本的なテキスト出力の収集を行います。
ほとんどのターミナル固有の動作は利用できません。多くのアプリが出力を「ターミナルではない」と見なすため(
isatty()が false)、対話型機能やターミナル制御シーケンスは通常動作しません。このモードでは、プログラムによってカラー出力が削減 / 無効になることがよくあります (プログラムがリダイレクトされた出力で強制カラーをサポートしていない限り、通常は「カラーなし」になります)。
ANSI コードで標準ストリームをリダイレクトする — 前のオプションと同様にストリームをリダイレクトしますが、色付き / スタイル設定された出力のために ANSI エスケープシーケンスを通過させることができます。
出力がリダイレクトされた場合でも (または構成 / 環境によって強制された場合でも) ANSI カラーコードを出力できるプログラムに役立ちます。
依然として本物のターミナルではありません。対話型ターミナルの動作は基本的に利用できず(
isatty()が false)、シンプルなスタイリングを超えるターミナル制御シーケンスは予期した動作をしない場合があります。このモードは、完全な PTY モードに切り替えることなく読みやすさ (色) を向上させることを目的としています。
外部コンソール — Rider ターミナルウィンドウの外部でプロセスを実行します。 これは、ストリームがリダイレクトされると動作が停止する特定のプログラム(特に一部の GUI プログラム)(たとえば、GUIConsole.WPF/ConPTY デモシナリオなど)に対して推奨される回避策です。
無効化しました。 — Rider のコンソール / ターミナル処理は実行構成の出力に関連付けられません。 これは、GUI アプリケーション(ターミナル出力のリダイレクトが不要な場合)や、Rider を介した出力が何らかの形で問題を引き起こす場合に役立ちます。
デフォルトでは、.NET および Mono アプリケーションの出力は、 実行または デバッグウィンドウに表示されます。 外部コンソールを使用する を選択して、外部ウィンドウに出力を表示できます。
このチェックボックスは従来型の .NET アプリケーション(たとえば、.NET コンソールアプリケーション)には影響しません。これらの出力は常に外部ウィンドウに表示されます。
デバッグモードで構成を実行すると、JetBrains Rider は元の .NET プロセスにのみデバッガーをアタッチします。 元のプロセスによって生成された子プロセスと孫プロセスをデバッグする場合は、 子 .NET プロセスにアタッチする を選択してください。
このオプションは .NET 8 以降でのみ機能することに注意してください。
構成を保存するには、 適用 をクリックします。
Web アプリケーション用のブラウザーを起動
構成設定の ブラウザーを開く セクションでは、ブラウザーの動作を構成し、アプリケーションのクライアント側コードのデバッグを有効にすることができます。 この機能は JavaScript Debug 実行構成によって提供されるため、技術的には、JetBrains Rider はサーバー側とクライアント側のコードに対して個別の実行構成を作成しますが、専用の .NET Project実行構成ですべての設定を指定します。
項目 | 説明 |
|---|---|
ブラウザーを開く | この領域のフィールドに、プロジェクトの HTML ファイルを指定して、内蔵 Web サーバーで起動するプロジェクトルートに従ってこのファイルへの正しい URL を作成します。 例: project_root/inner_folder/index.html を選択した場合、結果の URL は http://localhost:63342/project_root/inner_folder/index.html になります。 起動後 チェックボックスを選択すると、ブラウザーはアプリケーションの起動後にこのページを自動的に開きます。 別の方法として、手動で選択のブラウザーでこの URL アドレスでページを開くことによって同じ結果を見ることができます。 |
起動後 | このチェックボックスを選択すると、ブラウザーが自動的に開きます。 リストから使用するブラウザーを選択します。
|
JavaScriptデバッガーを使⽤ | 選択したブラウザーでクライアントサイドコードのデバッグを有効にするには、このチェックボックスをオンにします。 |