dotnet new install
This article applies to: ✔️ .NET Core 3.1 SDK and later versions
dotnet new --install - installs a template package.
dotnet new --install <PATH|NUGET_ID> [--interactive] [--nuget-source <SOURCE>]
dotnet new --install command installs a template package from the
NUGET_ID provided. If you want to install a specific version or prerelease version of a template package, specify the version in the format
<package-name>::<package-version>. By default,
dotnet new passes * for the version, which represents the latest stable package version. For more information, see the Examples section.
If a version of the template package was already installed when you run this command, the template package will be updated to the specified version. If no version is specified, the package is updated to the latest stable version.
Starting with .NET SDK 6.0.100, if the argument specifies the version, and that version of the NuGet package is already installed, it won't be reinstalled.
If the argument is a
PATH and it's already installed, it won't be reinstalled.
Prior to .NET SDK 6.0.100, template packages were managed individually for each .NET SDK version, including patch versions.
For example, if you install the template package using
dotnet new --install in .NET SDK 5.0.100, it will be installed only for .NET SDK 5.0.100. Templates from the package won't be available in other .NET SDK versions installed on your machine.
Starting with .NET SDK 6.0.100, installed template packages are available in later .NET SDK versions installed on your machine. A template package installed in .NET SDK 6.0.100 will also be available in .NET SDK 6.0.101, .NET SDK 6.0.200, and so on. However, these template packages won't be available in .NET SDK versions prior to .NET SDK 6.0.100. To use a template package installed in .NET SDK 6.0.100 or later in earlier .NET SDK versions, you need to install it using
dotnet new --install in that .NET SDK version.
Starting with .NET SDK 7.0.100 Preview 2, the
dotnet new syntax has changed:
--update-applyoption became the
- to use
--update-check, use the
updatesubcommand with the
Other options that were available before are still available to use with their respective subcommands.
Separate help for each subcommand is available via the
dotnet new <subcommand> --help lists all supported options for the subcommand.
Additionally, tab completion is now available for
dotnet new. It supports completion for installed template names, as well as completion for the options a selected template provides.
To activate tab completion for the .NET SDK, see Enable tab completion.
Examples of new syntax:
Show help for
dotnet new install --help
Install the latest version of Azure web jobs project template package:
dotnet new install Microsoft.Azure.WebJobs.ProjectTemplates
Allows the command to stop and wait for user input or action. For example, to complete authentication. Available since .NET 5.0 SDK.
dotnet new --installuses the hierarchy of NuGet configuration files from the current directory to determine the NuGet source the package can be installed from. If
--nuget-sourceis specified, the source will be added to the list of sources to be checked.
To check the configured sources for the current directory use
dotnet nuget list source. For more information, see Common NuGet Configurations
Install the latest version of SPA templates for ASP.NET Core:
dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates
Install version 2.0 of the SPA templates for ASP.NET Core:
dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0
Install version 2.0 of the SPA templates for ASP.NET Core from a custom NuGet source using interactive mode:
dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0 --nuget-source "https://api.my-custom-nuget.com/v3/index.json" --interactive
Submit and view feedback for