Visual Studio では、F5 (デバッグを開始) を押すか、Ctrl キー + (デバッグなしで開始) を、またはツール バー ボタンを使用してアプリケーションを起動するときに、複数のプロジェクトを実行する方法を指定できます。 この方法では、デバッグ セッション中に互いに依存する複数のサイト、アプリ、またはサービスを開始して正常に動作するか、ローカルで実行してテストすることができます。
一部のプロジェクト テンプレートには、起動時に開始されるように既に構成されている複数のプロジェクトが含まれています。たとえば、React プロジェクトと ASP.NET Core プロジェクトの種類には、クライアント側の JavaScript プロジェクトと、起動時に開始されるサーバー側 ASP.NET Core プロジェクトの両方が含まれます。
複数のスタートアップ プロジェクトを設定するには
ソリューション エクスプローラー で、ソリューション (最上位ノード) を選択します。
ソリューション ノードのコンテキスト (右クリック) メニューを選択し、[プロパティ] 選択します。 [ソリューション プロパティ ページ ] ダイアログ ボックスが表示されます。
[共通プロパティ] ノードを展開し、[スタートアップ プロジェクト] 選択します。
複数のスタートアップ プロジェクト オプションを選択し、適切なアクションを設定します。
複数プロジェクト用の起動プロファイル
デバッグ用の定義済みの状態で、マルチプロジェクト ソリューション内で特定のプロジェクトを起動するためのプロファイルを設定および保存できます。 これにより、複雑なソリューションを操作するプロセスが簡略化され、デバッグの効率が向上し、チーム メンバー間で構成を簡単に共有できるようになります。
複数プロジェクトの起動プロファイルを有効にする
[ツール>オプション] ウィンドウで、[>プレビュー機能] セクションを展開します。
[ Enable Multi-Project Launch Profiles]\(複数プロジェクト起動プロファイルを有効にする\) チェックボックスをオンにします。
複数プロジェクトの起動プロファイルは、Visual Studio 2022 17.11 以降で使用できます。
[ ツール>オプション ] ダイアログで、[ 環境>プレビュー機能 ] セクションを展開します。
[ 複数プロジェクト起動プロファイルを有効にする ] チェック ボックスをオンにし、[ OK] を選択します。
複数プロジェクトの起動プロファイルを作成する
複数のプロジェクトを含む Visual Studio ソリューションを開きます。
ソリューション エクスプローラーで、ソリューションを右クリックし、[ スタートアップ プロジェクトの構成...] を選択します。
Ctrl+Q キー (クイック起動) を押して、フィーチャー検索で「スタートアップ プロジェクトの構成」を検索することもできます。
ソリューション プロパティ ページ ダイアログが表示されます。
[ソリューション プロパティ ページ] で、[ 共通プロパティ ] タブを選択し、[ スタートアップ プロジェクトの構成] を選択します。
[スタートアップ プロジェクトの構成] セクションで、[複数のスタートアップ プロジェクト] ラジオ ボタンを選択します。
ラジオ ボタンの下には、ソリューション内のすべてのプロジェクトの一覧が表示されます。 F5 キーを押したときに各プロジェクトが起動するように設定されているかどうか、および各プロジェクトがデバッガーで起動されているか、デバッグなしで起動されているかを確認できます。
上下の矢印を使用して、プロジェクトの起動順序を制御できます。
各プロジェクトのアクションを Start、Start without debugging、または Noneに設定し、要件に応じてデバッグ ターゲットを選択します。
ソース管理リポジトリの設定ファイルにプロファイルを登録し、それによってプロファイルを他の Visual Studio ユーザーと共有したい場合は、[プロファイルの共有] チェックボックスをオンにします。 起動プロファイルは、ソリューションと同じディレクトリに
.slnLaunch拡張子を持つ JSON ファイルに保存されます。 [プロファイルの共有] チェック ボックスは、プロファイルをユーザー固有のファイル (オフ) に保存するか、Git (オン) などのソース管理の追跡を目的としたファイルに保存するかを決定します。
.slnLaunchファイル内のプロファイルの例を次に示します。[ { "Name": "Feature Profile", "Projects": [ { "Path": "src\\OrchardCore.Cms.Web\\OrchardCore.Cms.Web.csproj", "Action": "Start" }, { "Path": "src\\OrchardCore\\OrchardCore.DisplayManagement\\OrchardCore.DisplayManagement.csproj", "Action": "Start" }, { "Path": "src\\OrchardCore\\OrchardCore.Data\\OrchardCore.Data.csproj", "Action": "StartWithoutDebugging" }, { "Path": "src\\OrchardCore\\OrchardCore.ContentManagement.Display\\OrchardCore.ContentManagement.Display.csproj", "Action": "Start" } ] } ]各プロジェクトのスタートアップ アクションを構成したら、[ OK] または [ 適用 ] ボタンを選択してプロファイルを保存します。 作成した起動プロファイルがツール バーのドロップダウン リストに表示され、デバッグするプロファイルを選択できます。
Docker Compose を使用する
Docker Compose を使用してローカル コンピューターでコンテナー化されたプロジェクトを起動する場合は、別の方法 (起動プロファイル) を使用して複数のプロジェクトを開始します。
次の例は、フロントエンド Web サイト、Web API プロジェクト、Docker Compose プロジェクトの 3 つのプロジェクトを含むソリューション WebFrontEndA を示しています。 次のスクリーンショットは、3 つのプロジェクトのうち 2 つを開始する方法を示しています。1 つはデバッグあり、1 つはデバッグなしです。
この例やその他の Docker Compose シナリオでは、 docker-compose を単一のスタートアップ プロジェクトとして選択しますが、開始するプロジェクトまたはサービスを指定する別の方法を使用します。 Docker Compose 起動プロファイルを使用して、開始するサービスとデバッガーをアタッチするかどうかを決定します。また、Visual Studio で構成するためのダイアログが異なります。 「サービスのサブセットを開始する」を参照してください。
[ソリューション プロパティ ページ] ダイアログは、コンテナー化されていないソリューションの場合、または Docker Compose を使用してスタートアップを管理していない場合にのみ使用されます。