dotnet new install

本文适用于: ✔️ .NET Core 3.1 SDK 及更高版本

名称

dotnet new install - 安装模板包。

摘要

dotnet new install <PATH|NUGET_ID>  [--interactive] [--add-source|--nuget-source <SOURCE>] [--force] 
    [-d|--diagnostics] [--verbosity <LEVEL>] [-h|--help]

说明

dotnet new install 命令用于从提供的 PATHNUGET_ID 安装模板包。 若要安装模板包的特定版本或预发布版本,请以 <package-name>::<package-version> 格式指定该版本。 默认情况下,dotnet new 为该版本传递 *,它表示最新的稳定包版本。 有关详细信息,请参阅示例部分。

如果在运行此命令时已经安装了模板包的某个版本,则该模板包将更新到指定版本。 如果没有指定版本,则包将更新到最新的稳定版本。 从 .NET SDK 6.0.100 开始,如果参数指定了版本,并且该版本的 NuGet 已安装,则不会重新安装。 如果参数是 PATH 并且它已安装,则不会重新安装。

在 .NET SDK 6.0.100 之前的版本中,每个.NET SDK 版本(包括修补程序版本)的模板包都是单独管理的。 例如,如果在 .NET SDK 5.0.100 中使用 dotnet new --install 安装模板包,则只会为 .NET SDK 5.0.100 安装该模板包。 包中的模板将不可用于计算机上安装的其他 .NET SDK 版本。

从 .NET SDK 6.0.100 开始,安装的模板包将可用于计算机上安装的更高版本的 .NET SDK。 .NET SDK 6.0.100 中安装的模板包也可用于 .NET SDK 6.0.101、.NET SDK 6.0.200 等。 不过,这些模板包不可用于 .NET SDK 6.0.100 之前的 .NET SDK 版本。 若要在早期的 .NET SDK 版本中使用 .NET SDK 6.0.100 或更高版本中安装的模板包,则需通过该 .NET SDK 版本使用 dotnet new install 安装该模板包。

注意

从 .NET 7 SDK 开始,dotnet new 语法已更改:

  • --list--search--install--uninstall 选项已变更为 listsearchinstalluninstall 子命令。
  • --update-apply 选项变更为 update 子命令。
  • 若要使用 --update-check,请使用包含 --check-only 选项的 update 子命令。

之前可用的其他选项仍可用于各自的子命令。 每个子命令的单独帮助可通过 -h--help 选项获得:dotnet new <subcommand> --help 列出子命令的所有支持选项。

此外,tab 自动补全现可供 dotnet new 使用。 它支持安装模板名称的自动补全,以及所选模板所提供选项的自动补全。 若要激活 .NET SDK 的 tab 自动补全,请参阅启用 tab 自动补全

旧语法示例:

  • 安装最新版本的 Azure Web 作业项目模板包:

    dotnet new --install Microsoft.Azure.WebJobs.ProjectTemplates
    

参数

  • <PATH|NUGET_ID>

    文件系统上的文件夹或要从中安装模板包的 NuGet 包标识符。 dotnet new 尝试从可用于当前工作目录的 NuGet 源以及通过 --add-source 选项指定的源安装 NuGet 包。 若要从 NuGet 源安装模板包的特定版本或预发布版本,请以 <package-name>::<package-version> 格式指定该版本。

选项

  • --add-source|--nuget-source <SOURCE>

    默认情况下,dotnet new install 使用当前目录中的 NuGet 配置文件的层次结构来确定可从中安装包的 NuGet 源。 如果指定了 --nuget-source,则会将源添加到要检查的源的列表中。
    若要检查当前目录的配置源,请使用 dotnet nuget list source。 有关详细信息,请参阅常见的 NuGet 配置

    注意

    在 NuGet 的 Https Everywhere 计划之后,dotnet new 正在逐步淘汰 http 源。 如果传递了 http 源,则不会查询包,并显示警告。 如有必要,--force 选项可用于替代此行为。

  • -d|--diagnostics

    启用诊断输出。 自 .NET SDK 7.0.100 之后可用。

  • --force

    允许从指定的源安装模板包,即使它们将替代另一个源中的模板包。 自 .NET SDK 7.0.100 之后可用。

  • -h|--help

    打印 install 命令帮助。 自 .NET SDK 7.0.100 之后可用。

  • --interactive

    允许命令停止并等待用户输入或操作。 例如,完成身份验证。 自 .NET 5.0 SDK 起可用。

  • -v|--verbosity <LEVEL>

    设置命令的详细级别。 允许的值为 q[uiet]m[inimal]n[ormal]diag[nostic]。 自 .NET SDK 7.0.100 之后可用。

示例

  • 安装 ASP.NET Core 的 SPA 模板的最新版本:

    dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates
    
  • 安装 ASP.NET Core 的 SPA 模板 2.0 版:

    dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0
    
  • 使用交互模式从自定义 NuGet 源安装 ASP.NET Core 的 SPA 模板 2.0 版:

    dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0 --add-source "https://api.my-custom-nuget.com/v3/index.json" --interactive
    

另请参阅