dotnet 命令
本文适用于: ✔️ .NET Core 3.1 SDK 及更高版本
“属性”
dotnet
- .NET CLI 的通用驱动程序。
摘要
获取有关可用命令和环境的信息:
dotnet [--version] [--info] [--list-runtimes] [--list-sdks]
dotnet -h|--help
运行命令(需要 SDK 安装):
dotnet <COMMAND> [-d|--diagnostics] [-h|--help] [--verbosity <LEVEL>]
[command-options] [arguments]
运行应用程序:
dotnet [--additionalprobingpath <PATH>] [--additional-deps <PATH>]
[--fx-version <VERSION>] [--roll-forward <SETTING>]
<PATH_TO_APPLICATION> [arguments]
dotnet exec [--additionalprobingpath] [--additional-deps <PATH>]
[--depsfile <PATH>]
[--fx-version <VERSION>] [--roll-forward <SETTING>]
[--runtimeconfig <PATH>]
<PATH_TO_APPLICATION> [arguments]
描述
dotnet
命令有两个函数:
它提供了用于处理 .NET 项目的命令。
例如,
dotnet build
生成项目。 每个命令定义自己的选项和参数。 所有命令都支持--help
选项,用于打印有关如何使用命令的简短文档。它运行 .NET 应用程序。
指定应用程序
.dll
文件的路径以运行应用程序。 运行应用程序即意味着找到并执行入口点,对于控制台应用,入口点是Main
方法。 例如,dotnet myapp.dll
运行myapp
应用程序。 若要了解部署选项,请参阅 .NET 应用程序部署。
选项
可以使用不同的选项完成以下操作:
- 显示有关环境的信息。
- 运行命令。
- 运行应用程序。
用于显示环境信息和可用命令的选项
当自身使用 dotnet
时,可以使用以下选项,而无需指定要运行的命令或应用程序。 例如,dotnet --info
或 dotnet --version
。 这些选项打印出有关环境的信息。
--info
打印出有关 .NET 安装和计算机环境(如当前操作系统)的详细信息,并提交 .NET 版本的 SHA。
--version
打印出 dotnet
命令使用的 .NET SDK 版本,该版本可能受 global.json 文件的影响。 只有安装了 SDK 后才可用。
--list-runtimes
打印出已安装的 .NET 运行时的列表。 x86 版本的 SDK 只列出 x86 运行时,而 x64 版本的 SDK 只列出 x64 运行时。
--list-sdks
打印出已安装的 .NET SDK 的列表。
-?|-h|--help
打印可用命令列表。
用于运行命令的选项
以下选项适用于使用命令的 dotnet
。 例如,dotnet build --help
或 dotnet build --verbosity diagnostic
。
-d|--diagnostics
启用诊断输出。
-v|--verbosity <LEVEL>
设置命令的详细级别。 允许使用的值为
q[uiet]
、m[inimal]
、n[ormal]
、d[etailed]
和diag[nostic]
。 并非在每个命令中均受支持。 请参阅特定的命令页,确定此选项是否可用。-?|-h|--help
打印出给定命令的文档。 例如,
dotnet build --help
显示build
命令的帮助。command options
每个命令定义特定于该命令的选项。 有关可用选项的列表,请参阅特定命令页。
用于运行应用程序的选项
dotnet
运行应用程序时,可以使用以下选项。 例如 dotnet --roll-forward Major myapp.dll
。
--additionalprobingpath <PATH>
包含要进行探测的探测策略和程序集的路径。 重复该选项以指定多个路径。
--additional-deps <PATH>
附加 .deps.json 文件的路径。 deps.json 文件包含依赖项、编译依赖项和用于解决程序集冲突的版本信息列表。 有关详细信息,请参阅 GitHub 上的运行时配置文件。
--roll-forward <SETTING>
控制将前滚操作应用于应用的方式。
SETTING
可以为下列值之一。 如果未指定,则Minor
为默认类型。-
LatestPatch
- 前滚到最高补丁版本。 这会禁用次要版本前滚。 -
Minor
- 如果缺少所请求的次要版本,则前滚到最低的较高次要版本。 如果存在所请求的次要版本,则使用 LatestPatch 策略。 -
Major
- 如果缺少所请求的主要版本,则前滚到最低的较高主要版本和最低的次要版本。 如果存在所请求的主要版本,则使用 Minor 策略。 -
LatestMinor
- 即使存在所请求的次要版本,仍前滚到最高次要版本。 适用于组件托管方案。 -
LatestMajor
- 即使存在所请求的主要版本,仍前滚到最高主要版本和最高次要版本。 适用于组件托管方案。 -
Disable
- 不前滚。 仅绑定到指定的版本。 建议不要将此策略用于一般用途,因为它会禁用前滚到最新补丁的功能。 该值仅建议用于测试。
除
Disable
外,所有设置都将使用可用的最高补丁版本。前滚行为还可以在项目文件属性、运行时配置文件属性和环境变量中进行配置。 有关详细信息,请参阅主版本运行时前滚。
-
--fx-version <VERSION>
用于运行应用程序的 .NET 运行时版本。
此选项将重写应用程序
.runtimeconfig.json
文件中第一个框架引用的版本。 这意味着,仅当只有一个框架引用时,它才会按预期方式工作。 如果应用程序具有多个框架引用,则使用此选项可能会导致错误。
使用 exec
命令运行应用程序的选项
仅当 dotnet
使用 exec
命令运行应用程序时,以下选项才可用。 例如,dotnet exec --runtimeconfig myapp.runtimeconfig.json myapp.dll
。
--depsfile <PATH>
deps.json 文件的路径。 .deps.json 文件是一个配置文件,其中包含有关运行应用程序所需的依赖项的信息。 此文件由 .NET SDK 生成。
--runtimeconfig <PATH>
runtimeconfig.template.json 文件的路径。 runtimeconfig.json 文件包含运行时设置,通常命名为 <applicationname>.runtimeconfig.json。 有关详细信息,请参阅 .NET 运行时配置设置。
dotnet 命令
常规
命令 | 函数 |
---|---|
dotnet build | 生成 .NET 应用程序。 |
dotnet build-server | 与通过生成启动的服务器进行交互。 |
dotnet clean | 清除生成输出。 |
dotnet exec | 运行 .NET 应用程序。 |
dotnet help | 显示命令更详细的在线文档。 |
dotnet migrate | 将有效的预览版 2 项目迁移到 .NET Core SDK 1.0 项目。 |
dotnet msbuild | 提供对 MSBuild 命令行的访问权限。 |
dotnet new | 为给定的模板初始化 C# 或 F# 项目。 |
dotnet pack | 创建代码的 NuGet 包。 |
dotnet publish | 发布 .NET 依赖于框架或独立应用程序。 |
dotnet restore | 还原给定应用程序的依赖项。 |
dotnet run | 从源运行应用程序。 |
dotnet sdk check | 显示已安装 SDK 和运行时版本的最新状态。 |
dotnet sln | 用于添加、删除和列出解决方案文件中项目的选项。 |
dotnet store | 将程序集存储到运行时包存储区。 |
dotnet test | 使用测试运行程序运行测试。 |
项目引用
命令 | 函数 |
---|---|
dotnet add reference | 添加项目引用。 |
dotnet list reference | 列出项目引用。 |
dotnet remove reference | 删除项目引用。 |
NuGet 包
命令 | 函数 |
---|---|
dotnet add package | 添加 NuGet 包。 |
dotnet remove package | 删除 NuGet 包。 |
NuGet 命令
命令 | 函数 |
---|---|
dotnet nuget delete | 从服务器删除或取消列出包。 |
dotnet nuget push | 将包推送到服务器,并将其发布。 |
dotnet nuget locals | 清除或列出本地 NuGet 资源,例如 http 请求缓存、临时缓存或计算机范围的全局包文件夹。 |
dotnet nuget add source | 添加 NuGet 源。 |
dotnet nuget disable source | 禁用 NuGet 源。 |
dotnet nuget enable source | 启用 NuGet 源。 |
dotnet nuget list source | 列出所有已配置的 NuGet 源。 |
dotnet nuget remove source | 删除 NuGet 源。 |
dotnet nuget update source | 更新 NuGet 源。 |
工作负载命令
命令 | 函数 |
---|---|
dotnet workload install | 安装可选的工作负载。 |
dotnet workload list | 列出已安装的所有工作负载。 |
dotnet workload repair | 修复所有已安装的工作负载。 |
dotnet workload search | 列出所选工作负载或所有可用的工作负载。 |
dotnet workload uninstall | 卸载工作负载。 |
dotnet workload update | 重新安装所有已安装的工作负载。 |
全局、工具路径和本地工具命令
工具是控制台应用程序,它们从 NuGet 包中安装并从命令提示符处进行调用。 你可自行编写工具,也可安装由第三方编写的工具。 工具也称为全局工具、工具路径工具和本地工具。 有关详细信息,请参阅 .NET 工具概述。
命令 | 函数 |
---|---|
dotnet tool install | 在计算机上安装工具。 |
dotnet tool list | 列出计算机上当前安装的所有全局、工具路径或本地工具。 |
dotnet tool search | 在 NuGet.org 中搜索其名称或元数据中具有指定搜索词的工具。 |
dotnet tool uninstall | 从计算机中卸载工具。 |
dotnet tool update | 更新计算机上安装的工具。 |
其他工具
以下附加工具作为 .NET SDK 的一部分提供:
工具 | 函数 |
---|---|
dev-certs | 创建和管理开发证书。 |
ef | Entity Framework Core 命令行工具。 |
user-secrets | 管理开发用户机密。 |
watch | 当应用程序检测到源代码中的更改时,重启或热重载应用程序的文件观察程序。 |
有关每个工具的详细信息,请键入 dotnet <tool-name> --help
。
示例
创建新的 .NET 控制台应用程序:
dotnet new console
生成给定目录中的项目及其依赖项:
dotnet build
运行应用程序:
dotnet exec myapp.dll
dotnet myapp.dll