Visual Studio 開発者コマンド プロンプトと開発者用 PowerShell

Visual Studio には、次に示すように、開発者向けの 2 つのコマンド ライン シェル (コマンド プロンプトと PowerShell のインスタンス) が含まれています。

  • Visual Studio 開発者コマンド プロンプト - 開発者用コマンドライン ツールを簡単に使用できるように特定の環境変数が設定されている標準コマンド プロンプトです。

    clrver ツールが表示された Visual Studio 2019 の開発者コマンド プロンプトのスクリーンショット

    clrver ツールが表示された Visual Studio 2022 の開発者コマンド プロンプトのスクリーンショット

  • Visual Studio Developer PowerShell - コマンド プロンプトよりも、さらに高機能です。 たとえば、1 つのコマンド ("コマンドレット" と呼ばれます) の出力を別のコマンドレットに渡すことができます。 このシェルには、開発者コマンド プロンプトと同じ環境変数が設定されています。 Visual Studio 2019 以降で使用できます。

    Visual Studio 2022 の開発者用 PowerShell ツールのスクリーンショット。

Visual Studio 2019 以降、Visual Studio には、これらのシェル (開発者コマンド プロンプトと開発者用 PowerShell) のどちらもホストできる統合ターミナルが組み込まれています。 各シェルの複数のタブを開くこともできます。 Visual Studio ターミナルは、Windows ターミナルを基に構築されています。 Visual Studio でターミナルを開くには、 [表示]>[ターミナル] の順に選択します。

複数のタブが表示されている Visual Studio の [ターミナル] ペインのスクリーンショット。

複数のタブが表示されている Visual Studio の [ターミナル] のスクリーンショット。

ヒント

このページでは、Visual Studio でコマンド ライン シェルを使用する方法について説明します。 Visual Studio Code (VS Code とも呼ばれます) で同等の内容をお探しの場合は、「コマンド ライン インターフェイス (CLI)」と「ターミナルの基本」を参照してください。

いずれかの開発者シェルを Visual Studio から別のアプリとして、またはターミナル ウィンドウで開くと、現在のソリューションのディレクトリが表示されます (ソリューションを読み込み済みの場合)。 この動作により、ソリューションまたはそのプロジェクトに対してコマンドを実行するのが容易になります。

どちらのシェルにも、開発者用コマンドライン ツールをより簡単に使用できるように特定の環境変数が設定されています。 これらのシェルのいずれかを開いたら、さまざまなユーティリティのコマンドを入力できます。それらがどこにあるのかを知っている必要はありません。

よく使うコマンド 説明
MSBuild プロジェクトまたはソリューションをビルドする
dotnet .NET CLI コマンド
dotnet run .NET CLI コマンド
clrver CLR 用の .NET Framework ツール
ildasm 逆アセンブラー用の .NET Framework ツール
CL C/C++ コンパイル ツール
NMAKE C/C++ コンパイル ツール
LIB C/C++ ビルド ツール
DUMPBIN C/C++ ビルド ツール

Visual Studio で開始する

Visual Studio 内から開発者コマンド プロンプトまたは開発者用 PowerShell を開くには、次の手順に従います。

  1. Visual Studio を開きます。

  2. メニュー バーで [ツール]>[コマンド ライン]>[開発者コマンド プロンプト] または [開発者用 PowerShell] を選択します。

    Visual Studio 2022 のコマンド ライン メニューのスクリーンショット。

    Visual Studio 2019 のコマンド ライン メニューのスクリーンショット。

Windows メニューから開始する

シェルを起動するもう 1 つの方法は、[スタート] メニューからです。 Visual Studio のバージョンと、インストールした追加の SDK およびワークロードに応じて、複数のコマンド プロンプトがある場合があります。

Windows 11

  1. [スタート] Windows 11 の [スタート] ボタンのスクリーンショット。 を選び、[検索するにはここに入力します] ダイアログ ボックスで「developer command prompt」または「developer powershell」と入力します。

  2. 検索テキストに関連付けられているアプリの結果を選択します。

Windows 10

  1. [スタート] Windows 10 の [スタート] ボタンのスクリーンショット。 を選んでから、文字 V までスクロールします。

  2. Visual Studio 2019 または Visual Studio 2022 フォルダーを展開します。

  3. Visual Studio 2019 を実行している場合は、 [Developer Command Prompt for VS 2019] または [Developer PowerShell for VS 2019] を選択します。 Visual Studio 2022 を実行している場合は、 [Developer Command Prompt for VS 2022] または [Developer PowerShell for VS 2022] を選択します。

    または、最初にタスク バーの [検索] ボックスにシェルの名前を入力することもできます。一致する検索結果が結果一覧に表示され始めたら、目的のものを選択します。

    Windows 10 でのオブジェクトの検索動作を示すアニメーション。

Windows 8.1

  1. キーボードの Windows ロゴ キー キーボードの Windows ロゴ キーのスクリーンショット。 を押すなどして、[スタート] 画面に移動します。

  2. [スタート] 画面で、Ctrl+Tab キーを押して [アプリ] の一覧を開き、V を押します。インストールされているすべての Visual Studio コマンド プロンプトが含まれた一覧が表示されます。

  3. Visual Studio 2019 を実行している場合は、 [Developer Command Prompt for VS 2019] または [Developer PowerShell for VS 2019] を選択します。 Visual Studio 2022 を実行している場合は、 [Developer Command Prompt for VS 2022] または [Developer PowerShell for VS 2022] を選択します。

ファイル ブラウザーから開始する

インストール済みのシェルのショートカットは、通常、 [スタート] メニュー の Visual Studio フォルダー内 ( %ProgramData%\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools 内など) にあります。 ただし、コマンド プロンプトを探しても期待した結果が得られない場合は、コンピューター上でファイルを手動で探すことができます。

開発者コマンド プロンプト

コマンド プロンプト ファイルの名前 (VsDevCmd.bat) を検索するか、Visual Studio の Tools フォルダー (%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools など) に移動します (パスは、使用している Visual Studio のバージョン、エディション、およびインストール場所に応じて変わります)。

コマンド プロンプト ファイルが見つかったら、通常のコマンド プロンプト ウィンドウで次のコマンドを入力して、それを開きます。

"%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"

または、Windows の [ファイル名を指定して実行] ダイアログ ボックスに次のコマンドを入力します。

%comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"

または、Windows の [ファイル名を指定して実行] ダイアログ ボックスに次のコマンドを入力します。

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"

Visual Studio 2015 以降、開発者コマンド プロンプトは、Visual Studio のバージョン情報 (例: 17.9.0) を含む VSCMD_VER 環境変数を設定します。 開発者コマンド プロンプトがコンソールで既に実行されているかどうかを検出する必要がある場合は、VSCMD_VER が定義されているかどうかを確認することをお勧めします。

ヒント

使用している Visual Studio のバージョンやエディションと一致するように、必ずパスを編集してください。

開発者用 PowerShell

Launch-VsDevShell.ps1 という名前の PowerShell スクリプト ファイルを検索するか、Visual Studio の Tools フォルダー ( %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools など) に移動します (使用している Visual Studio のバージョン、エディション、インストール場所に応じてパスを変更します)。PowerShell ファイルが見つかったら、Windows PowerShell または PowerShell 6 のプロンプトで次のコマンドを入力して、それを開きます。

Visual Studio 2022 の場合:

& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1'

Visual Studio 2019 の場合:

& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Launch-VsDevShell.ps1'

既定では、起動される Developer PowerShell は、Launch-VsDevShell.ps1 ファイルが配置されているインストール パスを持つ Visual Studio インストール用に構成されています。

ヒント

コマンドレットを実行するには、実行ポリシーが設定されている必要があります。

Launch-VsDevShell.ps1 スクリプトは、Visual Studio のインストール パスで Microsoft.VisualStudio.DevShell.dll PowerShell モジュールを検索して、それを読み込み、Enter-VsDevShell コマンドレットを呼び出すことで機能します。 インストールされているショートカット ([スタート] メニューのものなど) によって、モジュールが読み込まれて、コマンドレットが直接呼び出されます。 Launch-VsDevShell.ps1 は、開発者用 PowerShell を対話形式で初期化したり、ビルドの自動化をスクリプト化したりするために推奨される方法です。

コマンド ライン引数

コマンド ライン引数は、開発者コマンド プロンプトまたは開発者用 PowerShell のどちらのシェルでも使用できます。

ターゲット アーキテクチャとホスト アーキテクチャ

特定の CPU アーキテクチャをターゲットとする出力を作成するビルド ツール (C++ コンパイラなど) の場合、開発者シェルは適切なコマンド ライン引数を使用して構成できます。 ビルド ツール バイナリのアーキテクチャは、コマンド ライン引数を使用して構成することもできます。 これは、ビルド マシンがターゲット アーキテクチャとは異なるアーキテクチャである場合に便利です。

ヒント

Visual Studio 2022 以降、ホスト アーキテクチャに関係なく、msbuild は既定で 64 ビット msbuild.exe バイナリに設定されます。

Shell 引数
開発者コマンド プロンプト -arch=<ターゲット アーキテクチャ>
開発者コマンド プロンプト -host_arch=<ホスト アーキテクチャ>
開発者用 PowerShell -Arch <ターゲット アーキテクチャ>
開発者用 PowerShell -HostArch <ホスト アーキテクチャ>

重要

開発者用 PowerShell の引数の -Arch と -HostArch は、Visual Studio 2022 バージョン 17.1 以降でしか使用できません。

次の表には、サポートされているアーキテクチャと、それがターゲット アーキテクチャまたはホスト アーキテクチャの引数に使用できるかどうかが一覧表示されています。

アーキテクチャ ターゲット アーキテクチャ ホスト アーキテクチャ
x86 Default Default
amd64 はい はい
arm はい いいえ
arm64 はい いいえ

ヒント

ターゲット アーキテクチャのみが設定されている場合、シェルによってホスト アーキテクチャと一致するように試行されます。 これにより、ターゲット アーキテクチャのみにホスト アーキテクチャでサポートされていない値を設定した場合、エラーが発生するおそれがあります。

64 ビット マシンで、Visual Studio 2019 Community Edition 用開発者コマンド プロンプトを起動し、64 ビットを対象とするビルド出力を作成します。

"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64

64 ビット マシンで、Visual Studio 2019 Community Edition 用開発者コマンド プロンプトを起動し、ARM を対象とするビルド出力を作成します。

"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=arm -host_arch=amd64

64 ビット マシンで Visual Studio 2022 バージョン 17.1 以降の Community Edition 用の開発者用 PowerShell を起動し、ARM64 をターゲットとするビルド出力を作成します。

& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1' -Arch arm64 -HostArch amd64

SkipAutomaticLocation

開発者用 PowerShell の場合、シェルの開始ディレクトリは Visual Studio のプロジェクトの場所です。 この既定のロケールは、作業ディレクトリなどの他のパスをオーバーライドします。 この動作は、コマンド ライン引数 -SkipAutomaticLocation を使用してオフにできます。 これは、たとえば、シェルを初期化後も現在のディレクトリに残す場合に便利です。

プロジェクトの場所は、[ツール]>[オプション]>[プロジェクトとソリューション]>[プロジェクトの場所] で調整できます。

ヒント

コマンド ライン引数の -Arch-HostArch-SkipAutomaticLocation は、Launch-VsDevShell.ps1 スクリプトと Enter-VsDevShell コマンドレットの両方でサポートされています。