Show / Hide Table of Contents

dotnet run

本文适用于: ✔️ .NET Core 2.x SDK 及更高版本

“属性”

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

摘要

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

描述

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,请使用:

dotnet myapp.dll

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

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

Note

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

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

选项

  • --

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

  • -c|--configuration <CONFIGURATION>

    定义生成配置。 大多数项目的默认配置为 Debug,但你可以覆盖项目中的生成配置设置。

  • -f|--framework <FRAMEWORK>

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

  • --force

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

  • -h|--help

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

  • --interactive

    允许命令停止并等待用户输入或操作(例如,完成身份验证)。 自 .NET Core 3.0 SDK 起可用。

  • --launch-profile <NAME>

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

  • --no-build

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

  • --no-dependencies

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

  • --no-launch-profile

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

  • --no-restore

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

  • -p|--project <PATH>

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

  • -r|--runtime <RUNTIME_IDENTIFIER>

    指定要为其还原包的目标运行时。 有关运行时标识符 (RID) 的列表,请参阅 RID 目录。 自 .NET Core 3.0 SDK 起可用的 -r 简短选项。

  • -v|--verbosity <LEVEL>

    设置命令的详细级别。 允许使用的值为 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。 默认值为 m。 自 .NET Core 2.1 SDK 起可用。

示例

  • 运行当前目录中的项目:

    dotnet run
    
  • 运行指定的项目:

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • 运行当前目录中的项目(在本例中,--help 参数被传递到应用程序,因为使用了空白的 -- 选项):

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

    dotnet run --verbosity m
    
Back to top Generated by DocFX