本文适用于: ✔️ .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 <PATH>] [--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 [--arch <ARCH>]输出所调用
dotnet体系结构的已安装 .NET 运行时的列表。 仅 x86 版本的dotnet列表仅 x86 运行时,而仅 x64 版本的dotnet列表为 x64 运行时。.NET 10 及更高版本支持该
--arch参数。 如果指定且与体系结构不同dotnet,请搜索指定体系结构的 .NET 安装,并输出其中安装的任何运行时。 允许的值包括 arm64、x64 和 x86。 dotnet/runtime 存储库包含 有效体系结构值的完整列表。--list-sdks [--arch <ARCH>]输出所调用
dotnet体系结构的已安装 .NET SDK 的列表。 仅 x86 版本的dotnet列表 x86 SDK,而 x64 版本的dotnet列表仅 x64 SDK。.NET 10 及更高版本支持该
--arch参数。 如果指定且与体系结构不同dotnet,请搜索指定体系结构的 .NET 安装,并输出其中安装的任何 SDK。 允许的值包括 arm64、x64 和 x86。 dotnet/runtime 存储库包含 有效体系结构值的完整列表。-?|-h|--help输出可用命令的列表。
用于运行命令的选项
以下选项适用于使用命令 #D0。 例如,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- 如果缺少请求的主版本,则前滚到更高的主版本和最低次要版本。 如果存在请求的主版本,则使用次要策略。 -
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.json 文件的路径。 runtimeconfig.json 文件包含运行时设置,通常命名<为 applicationname>.runtimeconfig.json。 有关详细信息,请参阅 .NET 运行时配置设置。
dotnet 命令
概况
| 指令 | 功能 |
|---|---|
| dotnet build | 生成 .NET 应用程序。 |
| dotnet build-server | 与生成启动的服务器交互。 |
| dotnet clean | 清理生成输出。 |
| dotnet exec | 运行 .NET 应用程序。 |
| dotnet 帮助 | 联机显示命令的更详细的文档。 |
| dotnet msbuild | 提供对 MSBuild 命令行的访问权限。 |
| dotnet new | 为给定模板初始化 C# 或 F# 项目。 |
| dotnet pack | 创建代码的 NuGet 包。 |
| dotnet publish | 发布依赖于 .NET Framework 或自包含的应用程序。 |
| dotnet restore | 还原给定应用程序的依赖项。 |
| dotnet run | 从源运行应用程序。 |
| dotnet sdk 检查 | 显示已安装 SDK 和运行时版本的 up-to日期状态。 |
| dotnet sln | 用于在解决方案文件中添加、删除和列出项目的选项。 |
| dotnet store | 将程序集存储在运行时包存储中。 |
| dotnet 测试 | 使用测试运行程序运行测试。 |
项目参考
| 指令 | 功能 |
|---|---|
| dotnet 引用添加 | 添加项目引用。 |
| dotnet 引用列表 | 列出项目引用。 |
| dotnet reference remove | 删除项目引用。 |
NuGet 包
| 指令 | 功能 |
|---|---|
| dotnet package add | 添加 NuGet 包。 |
| dotnet 包列表 | 列出 NuGet 包。 |
| dotnet 包删除 | 删除 NuGet 包。 |
| dotnet 包搜索 | 搜索 NuGet 包。 |
NuGet 命令
| 指令 | 功能 |
|---|---|
| dotnet nuget delete | 从服务器中删除或取消列出包。 |
| dotnet nuget push | 将包推送到服务器并发布它。 |
| dotnet nuget 局部变量 | 清除或列出本地 NuGet 资源,例如 http 请求缓存、临时缓存或计算机范围的全局包文件夹。 |
| dotnet nuget add source | 添加 NuGet 源。 |
| dotnet nuget 禁用源 | 禁用 NuGet 源。 |
| dotnet nuget 启用源 | 启用 NuGet 源。 |
| dotnet nuget 列表源 | 列出所有配置的 NuGet 源。 |
| dotnet nuget remove source | 删除 NuGet 源。 |
| dotnet nuget 更新源 | 更新 NuGet 源。 |
工作负荷命令
| 指令 | 功能 |
|---|---|
| dotnet workload clean | 删除工作负荷组件。 |
| dotnet 工作负荷配置 | 启用或禁用工作负荷集更新模式。 |
| dotnet 工作负荷历史记录 | 显示所有工作负荷安装作。 |
| dotnet workload install | 安装可选工作负荷。 |
| dotnet 工作负荷列表 | 列出所有已安装的工作负载。 |
| dotnet 工作负荷修复 | 修复所有已安装的工作负荷。 |
| dotnet 工作负荷还原 | 还原项目所需的工作负荷。 |
| dotnet 工作负荷搜索 | 列出所选工作负荷或所有可用的工作负荷。 |
| dotnet workload uninstall | 卸载工作负荷。 |
| dotnet workload update | 重新安装所有已安装的工作负载。 |
全局、工具路径和本地工具命令
工具是从 NuGet 包安装的控制台应用程序,并从命令提示符调用。 可以自行编写工具或安装由第三方编写的工具。 工具也称为全局工具、工具路径工具和本地工具。 有关详细信息,请参阅 .NET 工具概述。
| 指令 | 功能 |
|---|---|
| dotnet 工具安装 | 在计算机上安装工具。 |
| dotnet 工具列表 | 列出计算机上当前安装的所有全局工具、工具路径或本地工具。 |
| dotnet 工具搜索 | 搜索 NuGet.org 其名称或元数据中具有指定搜索词的工具。 |
| dotnet 工具卸载 | 从计算机中卸载工具。 |
| dotnet 工具更新 | 更新计算机上安装的工具。 |
其他工具
以下附加工具作为 .NET SDK 的一部分提供:
| 工具 | 功能 |
|---|---|
| dev-certs | 创建和管理开发证书。 |
| 英 孚 | Entity Framework Core 命令行工具。 |
| user-secrets | 管理开发用户机密。 |
| 看 | 当应用程序检测到源代码中的更改时,它会重启或热重载应用程序的文件观察程序。 |
有关每个工具的详细信息,请键入 #B0。
例子
创建新的 .NET 控制台应用程序:
dotnet new console
在给定目录中生成项目及其依赖项:
dotnet build
运行应用程序:
dotnet exec myapp.dll
dotnet myapp.dll