本文适用于: ✔️ .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 migrate | 将有效的预览版 2 项目迁移到 .NET Core SDK 1.0 项目。 |
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 install | 安装可选工作负荷。 |
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