dotnet run 命令允许从源代码运行应用程序,这对于从命令行快速迭代开发非常有用。它依赖于 dotnet build 命令生成代码,任何生成需要的,比如要先执行还原,同样适用于 dotnet run。
dotnet run 命令需要运行的项目是可执行类型的,也就是在项目文件中需要指定 <OutputType> 为 Exe。它的输出文件会写入到默认位置,即 bin/[configuration]/[framework],例如目标框架为 netcoreapp2.0 的应用程序运行 dotnet run ,输出的位置为 bin/Debug/netcoreapp2.0。
dotnet run 基于项目上下文执行,它需要从 NuGet 缓存解析共享运行时之外的应用程序依赖项,即第三方依赖。因此不推荐在生产中使用 dotnet run 来运行应用程序,而是使用 dotnet publish 命令发布应用程序后部署。
选项
-h|--help
打印帮助信息。
-p|--project
指定要运行的项目。如果不指定,默认运行当前目录中的项目。
// 默认运行当前目录中的项目
dotnet run
// 指定要运行的项目
dotnet run -p app.csproj
--
界定选项和传递给程序的参数。
如果执行 dotnet run 将 --help 传递给运行的程序,执行下面的命令是做不到的。
dotnet run --help
这是查看 dotnet run 帮助的命令。此时,-- 就派上用场了。
dotnet run -- --help
当然,如果要传递的参数不是 dotnet run 的选项,不用 -- 也是可以的。
dotnet run -a 5
-c|--configuration {Debug|Release}
生成项目的配置。默认为 Debug。
dotnet run -c Release
-f|--framework <FRAMEWORK>
指定运行项目使用的目标框架。
如果项目文件中指定了多个框架,执行 dotnet run 命令必须指定 -f|--framework <FRAMEWORK> 选项确定针对特定的目标框架运行,否则会报错。
dotnet run -f netcoreapp2.0
--runtime <RUNTIME_IDENTIFIER>
指定目标运行时。
关于更多运行时标识符 (RID) 的内容,请参阅 14.1.2 节。
--launch-profile
启动应用程序时使用的启动配置名称,启动配置定义在 launchSettings.json 里。
关于更多启动配置的内容,请参阅 3.9 节。
--no-build
运行应用程序之前不生成项目。
--no-launch-profile
不使用 launchSettings.json 配置应用程序。
--no-restore
运行应用时不隐式调用还原。
