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
运行应用时不隐式调用还原。