dotnet rundotnet run
本文内容
本文适用于:✓ .NET Core 1.x SDK ✓ .NET Core 2.x SDK
nameName
dotnet run
- 无需任何显式编译或启动命令即可运行源代码。
摘要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]
dotnet run [-c|--configuration] [-f|--framework] [--force] [--launch-profile] [--no-build] [--no-dependencies]
[--no-launch-profile] [--no-restore] [-p|--project] [--runtime] [[--] [application arguments]]
dotnet run [-h|--help]
dotnet run [-c|--configuration] [-f|--framework] [-p|--project] [[--] [application arguments]]
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
,请使用:
dotnet myapp.dll
有关 dotnet
驱动程序的详细信息,请参阅 .NET Core 命令行工具 (CLI) 主题。
若要运行应用程序,dotnet run
命令需从 NuGet 缓存解析共享运行时之外的应用程序依赖项。因为它使用缓存的依赖项,因此,不推荐在生产中使用 dotnet run
来运行应用程序。相反,使用 dotnet publish
命令创建部署,并部署已发布的输出。
备注
从 .NET Core 2.0 开始,无需运行 dotnet restore
,因为它由需有还原的所有命令隐式运行,如 dotnet build
和 dotnet 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 文件中进行定义,通常称为 Development
、Staging
和 Production
。有关详细信息,请参阅使用多个环境。
—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 文件中进行定义,通常称为 Development
、Staging
和 Production
。有关详细信息,请参阅使用多个环境。
—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