dotnet rundotnet run

本文内容

本文适用于:✓ .NET Core 1.x SDK ✓ .NET Core 2.x SDK

nameName

dotnet run - 无需任何显式编译或启动命令即可运行源代码。

摘要Synopsis

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

说明Description

dotnet run 命令为从源代码使用一个命令运行应用程序提供了一个方便的选项。这对从命令行中进行快速迭代开发很有帮助。命令取决于生成代码的 dotnet build 命令。对于此生成的任何要求,例如项目必须首先还原,同样适用于 dotnet run

输出文件会写入到默认位置,即 bin/<configuration>/<target>例如,如果具有 netcoreapp2.1 应用程序并且运行 dotnet run,则输出置于 bin/Debug/netcoreapp2.1将根据需要覆盖文件。临时文件将置于 obj 目录。

如果该项目指定多个框架,在不使用 -f|—framework <FRAMEWORK> 选项指定框架时,执行 dotnet run 将导致错误。

在项目上下文,而不是生成程序集中使用 dotnet run 命令。如果尝试改为运行依赖于框架的应用程序 DLL,则必须在不使用命令的情况下使用 dotnet例如,若要运行 myapp.dll,请使用:

  1. dotnet myapp.dll

有关 dotnet 驱动程序的详细信息,请参阅 .NET Core 命令行工具 (CLI) 主题。

若要运行应用程序,dotnet run 命令需从 NuGet 缓存解析共享运行时之外的应用程序依赖项。因为它使用缓存的依赖项,因此,不推荐在生产中使用 dotnet run 来运行应用程序。相反,使用 dotnet publish 命令创建部署,并部署已发布的输出。

备注

从 .NET Core 2.0 开始,无需运行 dotnet restore,因为它由需有还原的所有命令隐式运行,如 dotnet builddotnet run在执行显式还原有意义的某些情况下,例如 Azure DevOps Services 中的持续集成生成中,或在需要显式控制还原发生时间的生成系统中,它仍然是有效的命令。

以长格式传递命令时,该命令也支持 dotnet restore 选项(例如,—source)。不支持缩写选项,例如 -s

选项Options

将参数分隔到正在运行的应用程序的参数的 dotnet run在此分隔符后的所有参数均传递给已运行的应用程序。

-c|—configuration {Debug|Release}

定义生成配置。默认值为 Debug

-f|—framework <FRAMEWORK>

使用指定框架生成并运行应用。框架必须在项目文件中进行指定。

—force

强制解析所有依赖项,即使上次还原已成功,也不例外。指定此标记等同于删除 project.assets.json 文件 。

-h|—help

打印出有关命令的简短帮助。

—launch-profile <NAME>

启动应用程序时要使用的启动配置文件(若有)的名称。启动配置文件在 launchSettings.json 文件中进行定义,通常称为 DevelopmentStagingProduction有关详细信息,请参阅使用多个环境

—no-build

运行前不生成项目。还隐式设置 —no-restore 标记。

—no-dependencies

当使用项目到项目 (P2P) 引用还原项目时,还原根项目,不还原引用。

—no-launch-profile

不尝试使用 launchSettings.json 配置应用程序 。

—no-restore

运行此命令时不执行隐式还原。

-p|—project <PATH>

指定要运行的项目文件的路径(文件夹名称或完整路径)。如果未指定,则默认为当前目录。

—runtime <RUNTIME_IDENTIFIER>

指定要为其还原包的目标运行时。有关运行时标识符 (RID) 的列表,请参阅 RID 目录

-v|—verbosity <LEVEL>

设置命令的详细级别。允许使用的值为 q[uiet]m[inimal]n[ormal]d[etailed]diag[nostic]

将参数分隔到正在运行的应用程序的参数的 dotnet run在此分隔符后的所有参数均传递给已运行的应用程序。

-c|—configuration {Debug|Release}

定义生成配置。默认值为 Debug

-f|—framework <FRAMEWORK>

使用指定框架生成并运行应用。框架必须在项目文件中进行指定。

—force

强制解析所有依赖项,即使上次还原已成功,也不例外。指定此标记等同于删除 project.assets.json 文件 。

-h|—help

打印出有关命令的简短帮助。

—launch-profile <NAME>

启动应用程序时要使用的启动配置文件(若有)的名称。启动配置文件在 launchSettings.json 文件中进行定义,通常称为 DevelopmentStagingProduction有关详细信息,请参阅使用多个环境

—no-build

运行前不生成项目。还隐式设置 —no-restore 标记。

—no-dependencies

当使用项目到项目 (P2P) 引用还原项目时,还原根项目,不还原引用。

—no-launch-profile

不尝试使用 launchSettings.json 配置应用程序 。

—no-restore

运行此命令时不执行隐式还原。

-p|—project <PATH>

指定要运行的项目文件的路径(文件夹名称或完整路径)。如果未指定,则默认为当前目录。

—runtime <RUNTIME_IDENTIFIER>

指定要为其还原包的目标运行时。有关运行时标识符 (RID) 的列表,请参阅 RID 目录

将参数分隔到正在运行的应用程序的参数的 dotnet run在此分隔符后的所有参数均传递给已运行的应用程序。

-c|—configuration {Debug|Release}

定义生成配置。默认值为 Debug

-f|—framework <FRAMEWORK>

使用指定框架生成并运行应用。框架必须在项目文件中进行指定。

-h|—help

打印出有关命令的简短帮助。

-p|—project <PATH/PROJECT.csproj>

指定项目文件的路径和名称。(请参阅备注。)如果未指定,则默认为当前目录。

备注

通过 -p|—project 选项使用项目文件的路径和名称。CLI 中的回归可阻止使用 .NET Core SDK 1.x 提供文件夹路径。若要详细了解此问题,请参阅 dotnet run -p - 无法启动项目 (dotnet/cli #5992)

示例Examples

运行当前目录中的项目:

dotnet run

运行指定的项目:

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

运行当前目录中的项目(在本例中,—help 参数被传递到应用程序,因为使用了空白的 选项):

dotnet run —configuration Release — —help

在当前仅显示最小输出的目录中还原项目的依赖项和工具,然后运行项目(.NET Core SDK 2.0 及更高版本):

dotnet run —verbosity m