.NET Core コマンドライン インターフェイス (CLI) ツール.NET Core command-line interface (CLI) tools

.NET Core コマンドライン インターフェイス (CLI) は、.NET アプリケーションを開発するための新しいクロスプラットフォーム ツールチェーンです。The .NET Core command-line interface (CLI) is a new cross-platform toolchain for developing .NET applications. CLI は、統合開発環境 (IDE)、エディター、ビルド オーケストレーターなど、上位レベル ツールの基になるものです。The CLI is a foundation upon which higher-level tools, such as Integrated Development Environments (IDEs), editors, and build orchestrators, can rest.


ネイティブ インストーラーを使用するか、インストール シェル スクリプトを使用します。Either use the native installers or use the installation shell scripts:

  • ネイティブ インストーラーは主に開発者のコンピューター上で使用され、それぞれサポートされるプラットフォームのネイティブ インストール メカニズムを使用します。たとえば、Ubuntu の場合は DEB パッケージ、Windows の場合は MSI バンドルを使用します。The native installers are primarily used on developer's machines and use each supported platform's native install mechanism, for instance, DEB packages on Ubuntu or MSI bundles on Windows. これらのインストーラーでは、開発者がすぐに使用できる環境をインストールして構成します。ただし、コンピューターに対する管理者特権が必要になります。These installers install and configure the environment for immediate use by the developer but require administrative privileges on the machine. インストール手順は、.NET Core のインストール ガイドで確認できます。You can view the installation instructions in the .NET Core installation guide.
  • シェル スクリプトは主に管理者特権なしでツールをインストールするときや、ビルド サーバーを設定するために使用されます。Shell scripts are primarily used for setting up build servers or when you wish to install the tools without administrative privileges. インストール スクリプトの場合、前提条件はインストールされないため、手動でインストールする必要があります。Install scripts don't install prerequisites on the machine, which must be installed manually. 詳細については、インストール スクリプト参照に関するトピックを参照してください。For more information, see the install script reference topic. 継続的インテグレーション (CI) ビルド サーバーで CLI を設定する方法については、「継続的インテグレーション (CI) で .NET Core SDK とツールを使用する」を参照してください。For information on how to set up CLI on your continuous integration (CI) build server, see Using .NET Core SDK and tools in Continuous Integration (CI).

既定では、CLI は SxS (side-by-side) 方式でインストールを実行するため、複数のバージョンの CLI ツールが 1 台のコンピューターで共存できます。By default, the CLI installs in a side-by-side (SxS) manner, so multiple versions of the CLI tools can coexist on a single machine. 複数のバージョンがインストールされたコンピューターで使用するバージョンの決定方法について詳しくは、「ドライバー」セクションを参照してください。Determining which version is used on a machine where multiple versions are installed is explained in more detail in the Driver section.

CLI コマンドCLI commands

既定では、次のコマンドがインストールされます。The following commands are installed by default:

CLI では、プロジェクトに追加のツールを指定できるようにする拡張モデルが適用されます。The CLI adopts an extensibility model that allows you to specify additional tools for your projects. 詳細については、「.NET Core CLI の拡張モデル」を参照してください。For more information, see the .NET Core CLI extensibility model topic.

コマンド構造Command structure

CLI コマンド構造は、ドライバー ("dotnet")コマンド (または "動詞")、また場合によってはコマンドの引数オプションで構成されます。CLI command structure consists of the driver ("dotnet"), the command (or "verb"), and possibly command arguments and options. my_app という名前のディレクトリから実行する場合、次のコマンドで示されているように、新しいコンソール アプリの作成やコマンド ラインからの実行など、ほとんどの CLI 操作でこのパターンが見られます。You see this pattern in most CLI operations, such as creating a new console app and running it from the command line as the following commands show when executed from a directory named my_app:

dotnet new console
dotnet build --output /build_output
dotnet /build_output/my_app.dll


ドライバーは dotnet という名前で、2 つの役割 (フレームワークに依存するアプリの実行と、コマンドの実行) があります。The driver is named dotnet and has two responsibilities, either running a framework-dependent app or executing a command.

フレームワークに依存するアプリを実行するには、dotnet /path/to/my_app.dll など、ドライバーの後にアプリを指定します。To run a framework-dependent app, specify the app after the driver, for example, dotnet /path/to/my_app.dll. アプリの DLL が存在するフォルダーからコマンドを実行する場合は、dotnet my_app.dll を実行するだけです。When executing the command from the folder where the app's DLL resides, simply execute dotnet my_app.dll. .NET Core ランタイムの特定のバージョンを使用する場合は、--fx-version <VERSION> オプションを使用してください (「dotnet コマンド」リファレンスを参照)。If you want to use a specific version of the .NET Core Runtime, use the --fx-version <VERSION> option (see the dotnet command reference).

ドライバーにコマンドを指定すると、dotnet.exe は CLI コマンドの実行プロセスを開始します。When you supply a command to the driver, dotnet.exe starts the CLI command execution process. 次に例を示します。For example:

> dotnet build

最初に、ドライバーは使用する SDK のバージョンを決定します。First, the driver determines the version of the SDK to use. 'global.json' がない場合は、利用可能な SDK の最新バージョンを使用します。If there is no 'global.json', the latest version of the SDK available is used. コンピューターで最新のプレビューまたは安定したバージョンになります。This might be either a preview or stable version, depending on what is latest on the machine. SDK バージョンが決定されたら、コマンドを実行します。Once the SDK version is determined, it executes the command.

コマンド ("動詞")Command ("verb")

コマンド (または "動詞") は、単にアクションを実行するコマンドです。The command (or "verb") is simply a command that performs an action. たとえば、dotnet build はコードをビルドします。For example, dotnet build builds your code. dotnet publish はコードを発行します。dotnet publish publishes your code. コマンドは、dotnet {verb} 規則を使用してコンソール アプリケーションとして実装されます。The commands are implemented as a console application using a dotnet {verb} convention.


コマンド ラインで渡す引数は、呼び出されたコマンドへの引数です。The arguments you pass on the command line are the arguments to the command invoked. たとえば、dotnet publish my_app.csproj を実行した場合、my_app.csproj 引数は、発行するプロジェクトを示し、publish コマンドに渡されます。For example when you execute dotnet publish my_app.csproj, the my_app.csproj argument indicates the project to publish and is passed to the publish command.


コマンド ラインで渡すオプションは、呼び出されたコマンドへのオプションです。The options you pass on the command line are the options to the command invoked. たとえば、dotnet publish --output /build_output を実行した場合、--output オプションとその値は publish コマンドに渡されます。For example when you execute dotnet publish --output /build_output, the --output option and its value are passed to the publish command.

project.json からの移行Migration from project.json

Preview 2 ツールを使用して project.json ベースのプロジェクトを生成した場合は、リリース ツールで使用するための MSBuild/.csproj へのプロジェクトの移行について、「dotnet-migrate」トピックを参照してください。If you used Preview 2 tooling to produce project.json-based projects, consult the dotnet migrate topic for information on migrating your project to MSBuild/.csproj for use with release tooling. Preview 2 ツールのリリースの前に作成された .NET Core プロジェクトの場合は、「DNX から .NET Core CLI への移行 (project.json)」のガイダンスに従って手動でプロジェクトを更新してから dotnet migrate を使用するか、プロジェクトを直接アップグレードします。For .NET Core projects created prior to the release of Preview 2 tooling, either manually update the project following the guidance in Migrating from DNX to .NET Core CLI (project.json) and then use dotnet migrate or directly upgrade your projects.

関連項目See also