dotnet コマンド

この記事の対象: ✔️ .NET Core 3.1 SDK 以降のバージョン

名前

dotnet - .NET CLI の汎用ドライバー。

構文

利用できるコマンドと環境に関する情報を取得するには:

dotnet [--version] [--info] [--list-runtimes] [--list-sdks]

dotnet -h|--help

コマンドを実行するには (SDK のインストールが必要):

dotnet <COMMAND> [-d|--diagnostics] [-h|--help] [--verbosity <LEVEL>]
    [command-options] [arguments]

アプリケーションを実行するには:

dotnet [--additionalprobingpath <PATH>] [--additional-deps <PATH>]
    [--fx-version <VERSION>]  [--roll-forward <SETTING>]
    <PATH_TO_APPLICATION> [arguments]

dotnet exec [--additionalprobingpath] [--additional-deps <PATH>]
    [--depsfile <PATH>]
    [--fx-version <VERSION>]  [--roll-forward <SETTING>]
    [--runtimeconfig <PATH>]
    <PATH_TO_APPLICATION> [arguments]

説明

dotnet コマンドには、次の 2 つの機能があります。

  • .NET プロジェクトを操作するためのコマンドが用意されています。

    たとえば、dotnet build を使うと、プロジェクトをビルドできます。 各コマンドには独自のオプションと引数が定義されています。 すべてのコマンドは、コマンドの使用方法に関する簡単なドキュメントを出力するための --help オプションをサポートしています。

  • .NET アプリケーションが実行されます。

    アプリケーションを実行するには、アプリケーション .dll ファイルへのパスを指定します。 アプリケーションを実行するということは、エントリ ポイントを見つけて実行することを意味します。コンソール アプリの場合、これは Main メソッドです。 たとえば、dotnet myapp.dll を使うと、myapp アプリケーションが実行されます。 展開オプションについては、.NET アプリケーションの展開に関する記事を参照してください。

オプション

次の各種オプションを使用できます。

  • 環境に関する情報の表示。
  • コマンドの実行。
  • アプリケーションの実行。

環境情報と使用可能なコマンドを表示するためのオプション

実行するコマンドまたはアプリケーションを指定せずに、単独で dotnet を使用する場合は、次のオプションを使用できます。  たとえば、dotnet --info または dotnet --version です。 環境に関する情報が出力されます。

  • --info

    現在のオペレーティング システムや .NET バージョンのコミット SHA など、.NET のインストールとコンピューター環境に関する詳細を出力します。

  • --version

dotnet コマンドによって使用される .NET SDK のバージョンを出力します。これは global.json ファイルの影響を受ける可能性があります。 SDK がインストールされている場合にのみ利用できます。

  • --list-runtimes

    インストールされている .NET ランタイムの一覧が出力されます。 x86 バージョンの SDK には x86 ランタイムのみが登録され、x64 バージョンの SDK には x64 ランタイムのみが登録されています。

  • --list-sdks

    インストールされている .NET SDK の一覧が出力されます。

  • -?|-h|--help

    使用できるコマンドの一覧が出力されます。

コマンドを実行するためのオプション

次のオプションは、コマンドを指定した dotnet 用です。  たとえば、dotnet build --help または dotnet build --verbosity diagnostic です。

  • -d|--diagnostics

    診断出力を有効にします。

  • -v|--verbosity <LEVEL>

    コマンドの詳細レベルを設定します。 指定できる値は、q[uiet]m[inimal]n[ormal]d[etailed]、および diag[nostic] です。 すべてのコマンドでサポートされているわけではありません。 このオプションを使用できるかどうかについては、そのコマンド ページを参照してください。

  • -?|-h|--help

    特定のコマンドのドキュメントを出力します。 たとえば、dotnet build --help を実行すると、build コマンドのヘルプが表示されます。

  • command options

    各コマンドには、そのコマンドに固有のオプションが定義されています。 使用できるオプションの一覧については、そのコマンドのページを参照してください。

アプリケーションを実行するためのオプション

次のオプションは、dotnet でアプリケーションを実行するときに使用できます。 たとえば、dotnet --roll-forward Major myapp.dll のようにします。

  • --additionalprobingpath <PATH>

    プローブ ポリシーとプローブするアセンブリを含むパスです。 複数のパスを指定するには、このオプションを繰り返します。

  • --additional-deps <PATH>

    追加の .deps.json ファイルへのパス。 deps.json ファイルには、依存関係、コンパイル依存関係、アセンブリ競合に対処するためのバージョン情報の一覧が含まれています。 詳細については、GitHub の「Runtime Configuration Files」 (ランタイム構成ファイル) を参照してください。

  • --roll-forward <SETTING> **

    アプリにロール フォ ワードを適用する方法を制御します。 SETTING には次のいずれかの値を指定できます。 指定しない場合の既定は、Minor です。

    • LatestPatch - 最新のパッチ バージョンにロール フォワードします。 これで、マイナー バージョンのロールフォワードが無効になります。
    • Minor - 要求されたマイナー バージョンが見つからない場合は、それよりも高い最小マイナー バージョンにロール フォワードします。 要求されたマイナー バージョンが存在する場合は、LatestPatch ポリシーが使用されます。
    • Major - 要求されたメジャー バージョンが見つからない場合は、それよりも高い最小メジャー バージョンで最小マイナー バージョンにロール フォワードします。 要求されたメジャー バージョンが存在する場合は、Minor ポリシーが使用されます。
    • LatestMinor - 要求されたマイナー バージョンが存在する場合でも、最上位のマイナー バージョンにロール フォワードします。 コンポーネント ホスティング シナリオを対象としています。
    • LatestMajor - 要求されたメジャーが存在する場合でも、最上位のメジャー バージョンで最上位のマイナー バージョンにロール フォワードします。 コンポーネント ホスティング シナリオを対象としています。
    • Disable - ロール フォワードしません。 指定されたバージョンにのみバインドします。 このポリシーは、最新のパッチにロールフォワードする機能が無効になるため、一般的な使用にはお勧めできません。 この値はテスト用にのみ推奨されます。

    Disable を除いて、すべての設定は使用できる最高のパッチ バージョンを使用します。

    ロール フォワード動作は、プロジェクト ファイル プロパティ、ランタイム構成ファイル プロパティ、および環境変数でも構成できます。 詳細については、「メジャーバージョン ランタイムのロールフォワード」を参照してください。

  • --fx-version <VERSION>

    アプリケーションを実行するために使用する .NET ランタイムのバージョン。

    このオプションは、アプリケーションの .runtimeconfig.json ファイル内の最初のフレームワーク参照のバージョンをオーバーライドします。 つまり、予期したとおりに動作するのは、フレームワーク参照が 1 つの場合のみです。 アプリケーションに複数のフレームワーク参照がある場合、このオプションを使用するとエラーが発生する可能性があります。

exec コマンドを使用してアプリケーションを実行するためのオプション

次のオプションは、exec コマンドを使用して、dotnet でアプリケーションを実行する場合にのみ使用できます。 たとえば、「 dotnet exec --runtimeconfig myapp.runtimeconfig.json myapp.dll 」のように入力します。

  • --depsfile <PATH>

    deps.json ファイルへのパス。 deps. json ファイルは、アプリケーションの実行に必要な依存関係に関する情報を含む構成ファイルです。 このファイルは、.NET SDK によって生成されます。

  • --runtimeconfig <PATH>

    runtimeconfig.json ファイルへのパス。 runtimeconfig.json ファイルにはランタイム設定が含まれており、通常は <applicationname>.runtimeconfig.json という名前です。 詳細については、.NET ランタイム構成設定に関する記事を参照してください。

dotnet コマンド

全般

コマンド 関数
dotnet build .NET アプリケーションをビルドします。
dotnet build-server ビルドによって起動されたサーバーとやり取りします。
dotnet clean クリーン ビルド出力です。
dotnet exec .NET アプリケーションを実行します。
dotnet help コマンドのより詳細なドキュメントをオンラインで表示します。
dotnet migrate 有効な Preview 2 プロジェクトを .NET Core SDK 1.0 プロジェクトに移行します。
dotnet msbuild MSBuild コマンド ラインへのアクセスを提供します。
dotnet new 指定されたテンプレートの C# または F# プロジェクトを初期化します。
dotnet pack コードの NuGet パッケージを作成します。
dotnet publish .NET Framework に依存するアプリケーションまたは自己完結型アプリケーションを発行します。
dotnet restore 指定されたアプリケーションの依存関係を復元します。
dotnet run ソースからアプリケーションを実行します。
dotnet sdk check インストールされている SDK およびランタイム バージョンの最新の状態が表示されます。
dotnet sln ソリューション ファイルのプロジェクトを追加、削除、一覧表示するオプション。
dotnet store ランタイム パッケージ ストアにアセンブリを格納します。
dotnet test テスト ランナーを使用してテストを実行します。

プロジェクト参照

コマンド 関数
dotnet add reference プロジェクト参照を追加します。
dotnet list reference プロジェクト参照をリストします。
dotnet remove reference プロジェクト参照を削除します。

NuGet パッケージ

コマンド 関数
dotnet add package NuGet パッケージを追加します。
dotnet remove package NuGet パッケージを削除します。

NuGet コマンド

コマンド 関数
dotnet nuget delete サーバーからパッケージを削除または一覧から削除します。
dotnet nuget push パッケージをサーバーにプッシュして発行します。
dotnet nuget locals HTTP 要求キャッシュ、一時的なキャッシュ、コンピューター全体のグローバル パッケージ フォルダーなどのローカルの NuGet リソースをクリアまたは一覧表示します。
dotnet nuget add source NuGet ソースを追加します。
dotnet nuget disable source NuGet ソースを無効にします。
dotnet nuget enable source NuGet ソースを有効にします。
dotnet nuget list source 構成されている NuGet ソースをすべて一覧表示します。
dotnet nuget remove source NuGet ソースを削除します。
dotnet nuget update source NuGet ソースを更新します。

ワークロード コマンド

コマンド 機能
dotnet workload install オプションのワークロードをインストールします。
dotnet workload list インストールされているすべてのワークロードを一覧表示します。
dotnet workload repair インストールされているすべてのワークロードを修復します。
dotnet workload search 選択されたワークロードまたは使用可能なすべてのワークロードを一覧表示します。
dotnet workload uninstall ワークロードをアンインストールします。
dotnet workload update インストールされたすべてのワークロードを再インストールします。

グローバル、ツールパス、およびローカル ツールのコマンド

ツールは、NuGet パッケージからインストールされ、コマンド プロンプトから呼び出されるコンソール アプリケーションです。 ツールは自分で作成することも、サードパーティによって作成されたツールをインストールすることもできます。 ツールは、グローバル ツール、ツールパス ツール、およびローカル ツールとも呼ばれます。 詳細については、.NET ツールの概要に関するページを参照してください。

コマンド 関数
dotnet tool install ツールをお使いのコンピューターにインストールします。
dotnet tool list コンピューターに現在インストールされているグローバル、ツールパス、またはローカル ツールをすべて一覧表示します。
dotnet tool search 名前またはメタデータ内に指定された検索用語が含まれるツールを NuGet.org で検索します。
dotnet tool uninstall ツールをお使いのコンピューターからアンインストールします。
dotnet tool update コンピューターにインストールされているツールを更新します。

その他のツール

.NET SDK の一部として、次の追加ツールを使用できます。

ツール 関数
dev-certs 開発証明書を作成および管理します。
ef Entity Framework Core コマンドライン ツールです。
user-secrets 開発ユーザーのシークレットを管理します。
watch ソース コードの変更を検出すると、アプリケーションを再起動またはホット リロードするファイル ウォッチャー。

各ツールの詳細については、dotnet <tool-name> --help と入力してください。

使用例

新しい .NET コンソール アプリケーションを作成します。

dotnet new console

指定されたディレクトリにプロジェクトとその依存関係をビルドします。

dotnet build

アプリケーションを実行します。

dotnet exec myapp.dll
dotnet myapp.dll

関連項目