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 <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 --infodotnet --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 --helpdotnet 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

另请参阅