dotnet rundotnet run

このトピックの対象: ✓ .NET Core SDK 1.x .NET Core SDK 2.0This topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.0

nameName

dotnet run -- 明示的なコンパイルや起動コマンドなしで、ソース コードを実行します。dotnet run - Runs source code without any explicit compile or launch commands.

構文Synopsis

dotnet run [-c|--configuration] [-f|--framework] [--force] [--launch-profile] [--no-build] [--no-dependencies]
    [--no-launch-profile] [--no-restore] [-p|--project] [--runtime] [-v|--verbosity] [[--] [application arguments]]
dotnet run [-h|--help]

説明Description

dotnet run コマンドは、1 つのコマンドを使用して、ソース コードからアプリケーションを実行する便利なオプションを提供します。The dotnet run command provides a convenient option to run your application from the source code with one command. コマンド ラインからの短期間の反復開発に便利です。It's useful for fast iterative development from the command line. このコマンドは dotnet build コマンドに依存し、コードをビルドします。The command depends on the dotnet build command to build the code. そのため、プロジェクトを最初に復元する必要があるなど、ビルドに要件があれば、それが dotnet run にも適用されます。Any requirements for the build, such as that the project must be restored first, apply to dotnet run as well.

出力ファイルは既定の場所である bin/<configuration>/<target> に書き込まれます。Output files are written into the default location, which is bin/<configuration>/<target>. たとえば、netcoreapp1.0 というアプリケーションがあり、dotnet run を実行する場合、bin/Debug/netcoreapp1.0 に出力されます。For example if you have a netcoreapp1.0 application and you run dotnet run, the output is placed in bin/Debug/netcoreapp1.0. 必要に応じて、ファイルは上書きされます。Files are overwritten as needed. 一時ファイルは obj ディレクトリに置かれます。Temporary files are placed in the obj directory.

フレームワークを複数指定するプロジェクトの場合、-f|--framework <FRAMEWORK> オプションを使用してフレームワークを指定しない限り、dotnet run を実行するとエラーが発生します。If the project specifies multiple frameworks, executing dotnet run results in an error unless the -f|--framework <FRAMEWORK> option is used to specify the framework.

dotnet run コマンドは、ビルド済みのアセンブリではなく、プロジェクトのコンテキストで使用されます。The dotnet run command is used in the context of projects, not built assemblies. 代わりにフレームワークに依存するアプリケーション DLL の実行を試みる場合は、コマンドなしで dotnet を実行する必要があります。If you're trying to run a framework-dependent application DLL instead, you must use dotnet without a command. たとえば、myapp.dll を実行する場合は、次のコードを使用します。For example, to run myapp.dll, use:

dotnet myapp.dll

dotnet ドライバーの詳細については、「.NET Core Command Line Tools (CLI)」 (.NET Core コマンド ライン ツール (CLI)) を参照してください。For more information on the dotnet driver, see the .NET Core Command Line Tools (CLI) topic.

アプリケーションを実行するため、dotnet run コマンドは、NuGet キャッシュから共有ランタイムの外にあるアプリケーションの依存関係を解決します。To run the application, the dotnet run command resolves the dependencies of the application that are outside of the shared runtime from the NuGet cache. このコマンドではキャッシュされた依存関係を使用するため、dotnet run を使用してアプリケーションを実稼働環境で実行することは推奨されません。Because it uses cached dependencies, it's not recommended to use dotnet run to run applications in production. 代わりに、dotnet publish コマンドを使用して展開を作成し、発行された出力を展開します。Instead, create a deployment using the dotnet publish command and deploy the published output.

注意

.NET Core 2.0 以降、dotnet restore を実行する必要がなくなりました。dotnet builddotnet run のような、復元を必要とするあらゆるコマンドによって暗黙的に実行されるためです。Starting with .NET Core 2.0, you don't have to run dotnet restore because it's run implicitly by all commands, such as dotnet build and dotnet run, that require a restore to occur. Visual Studio Team Services の継続的インテグレーション ビルドなど、明示的な復元が合理的となる一部のシナリオや、復元の時刻を明示的に制御する必要があるビルド システムでは、引き続き有効なコマンドとなります。It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Visual Studio Team Services or in build systems that need to explicitly control the time at which the restore occurs.

このコマンドには dotnet restore オプションを指定できますが、--source のように長い形式で指定する必要があります。This command also supports the dotnet restore options when passed in the long form (for example, --source). -s のような短い形式のオプションはサポートされていません。Short form options, such as -s, are not supported.

オプションOptions

--

実行中のアプリケーションの引数と dotnet run の引数を区切ります。Delimits arguments to dotnet run from arguments for the application being run. この区切り記号の後の引数はすべて実行中のアプリケーションに渡されます。All arguments after this delimiter are passed to the application run.

-c|--configuration {Debug|Release}

ビルド構成を定義します。Defines the build configuration. 既定値は Debug です。The default value is Debug.

-f|--framework <FRAMEWORK>

指定されたフレームワークを使用してアプリをビルドし、実行します。Builds and runs the app using the specified framework. フレームワークはプロジェクト ファイルに指定する必要があります。The framework must be specified in the project file.

--force

最後の復元が成功した場合でも、すべての依存関係が強制的に解決されます。Forces all dependencies to be resolved even if the last restore was successful. このフラグを指定することは、project.assets.json ファイルを削除することと同じです。Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

コマンドの短いヘルプを印刷します。Prints out a short help for the command.

--launch-profile <NAME>

アプリケーションを起動する場合に使用する起動プロファイル (存在する場合) の名前です。The name of the launch profile (if any) to use when launching the application. 起動プロファイルは launchSettings.json ファイル内に定義されており、通常は、DevelopmentStagingProduction と呼ばれています。Launch profiles are defined in the launchSettings.json file and are typically called Development, Staging, and Production. 詳細については、「Working with multiple environments」 (複数の環境での使用) をご覧ください。For more information, see Working with multiple environments.

--no-build

実行前にプロジェクトをビルドしません。Doesn't build the project before running. また、--no-restore フラグが暗黙的に設定されます。It also implicit sets the --no-restore flag.

--no-dependencies

プロジェクト間 (P2P) 参照を含むプロジェクトを復元する場合は、参照ではなく、ルート プロジェクトを復元します。When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--no-launch-profile

アプリケーションを構成するための launchSettings.json の使用を試みません。Doesn't try to use launchSettings.json to configure the application.

--no-restore

コマンドを実行するときに、暗黙的な復元を実行しません。Doesn't execute an implicit restore when running the command.

-p|--project <PATH>

実行するプロジェクト ファイルのパスを指定します (フォルダー名または完全なパス)。Specifies the path of the project file to run (folder name or full path). 指定しない場合は、既定で現在のディレクトリに設定されます。If not specified, it defaults to the current directory.

--runtime <RUNTIME_IDENTIFIER>

パッケージを復元するターゲット ランタイムを指定します。Specifies the target runtime to restore packages for. ランタイム ID (RID) の一覧については、RID カタログに関するページをご覧ください。For a list of Runtime Identifiers (RIDs), see the RID catalog.

-v|--verbosity <LEVEL>

コマンドの詳細レベルを設定します。Sets the verbosity level of the command. 指定できる値は、q[uiet]m[inimal]n[ormal]d[etailed]、および diag[nostic] です。Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

使用例Examples

現在のディレクトリのプロジェクトを実行します。Run the project in the current directory:

dotnet run

指定されたプロジェクトを実行します。Run the specified project:

dotnet run --project ./projects/proj1/proj1.csproj

現在のディレクトリのプロジェクトを実行します (この例では、空の -- オプションが使用されているため、--help 引数がアプリケーションに渡されます)。Run the project in the current directory (the --help argument in this example is passed to the application, since the blank -- option is used):

dotnet run --configuration Release -- --help

現在のディレクトリでプロジェクトの依存関係とツールを復元し、最小限の出力のみを表示して、プロジェクトを実行します (.NET Core SDK 2.0 以降のバージョン)。Restore dependencies and tools for the project in the current directory only showing minimal output and then run the project: (.NET Core SDK 2.0 and later versions):

dotnet run --verbosity m