Gestire modelli di progetto e di elemento .NET

.NET fornisce un sistema di modelli che consente agli utenti di installare o disinstallare pacchetti contenenti modelli provenienti da NuGet, da un file di pacchetto NuGet o da una directory del file system. Questo articolo descrive come gestire i modelli .NET tramite l'interfaccia della riga di comando di .NET SDK.

Per altre informazioni sulla creazione di modelli, vedere Esercitazione: Creare modelli.

Installare il modello

I pacchetti modello vengono installati tramite il comando dotnet new install SDK. È possibile specificare l'identificatore del pacchetto NuGet di un pacchetto modello o una cartella che contiene i file modello.

Pacchetto NuGet ospitato

I pacchetti di modelli dell'interfaccia della riga di comando .NET vengono caricati in NuGet per un'ampia distribuzione. I pacchetti modello possono essere installati anche da un feed privato. Invece di caricare un pacchetto modello in un feed NuGet, i file nupkg possono essere distribuiti e installati manualmente, come descritto nella sezione Pacchetto NuGet.

Per altre informazioni sulla configurazione dei feed NuGet, vedere dotnet nuget add source.

Per installare un pacchetto modello dal feed NuGet predefinito, usare il comando dotnet new install {package-id}:

dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates

Per installare un pacchetto modello dal feed NuGet predefinito con una versione specifica, usare il comando dotnet new install {package-id}::{version}:

dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.2.6

Pacchetto NuGet locale

Quando viene creato un pacchetto modello, viene generato un file nupkg. Se si dispone di un file nupkg contenente i modelli, è possibile installarlo con il comando dotnet new install {path-to-package}:

dotnet new install c:\code\nuget-packages\Some.Templates.1.0.0.nupkg
dotnet new install ~/code/nuget-packages/Some.Templates.1.0.0.nupkg

Folder

In alternativa all'installazione del modello da un file nupkg, è anche possibile installare i modelli da una cartella direttamente con il comando dotnet new install {folder-path}. La cartella specificata viene considerata come l'identificatore del pacchetto di modelli per qualsiasi modello trovato. In tal modo, qualsiasi modello trovato nella gerarchia della cartella specificata viene installato.

dotnet new install c:\code\nuget-packages\some-folder\
dotnet new install ~/code/nuget-packages/some-folder/

La {folder-path} specificata nel comando diventa l'identificatore del pacchetto di modelli per tutti i modelli trovati. Come specificato nella sezione Elenca pacchetti di modelli, è possibile ottenere un elenco di pacchetti di modelli installati con il comando dotnet new uninstall. In questo esempio, l'identificatore del pacchetto modello viene visualizzato come cartella usata per l'installazione:

dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder
dotnet new uninstall
Currently installed items:

... cut to save space ...

  /home/username/code/templates
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall /home/username/code/templates

Disinstallare il pacchetto modello

I pacchetti modello vengono disinstallati tramite il comando dotnet new uninstall SDK. È possibile specificare l'identificatore del pacchetto NuGet di un pacchetto modello o una cartella che contiene i file modello.

Pacchetto NuGet

Dopo aver installato un pacchetto modello NuGet, da un feed NuGet o da un file nupkg, è possibile disinstallarlo facendo riferimento all'identificatore del pacchetto NuGet.

Per disinstallare un pacchetto modello, usare il comando dotnet new uninstall {package-id}:

dotnet new uninstall Microsoft.DotNet.Web.Spa.ProjectTemplates

Folder

Quando i modelli vengono installati tramite un percorso di cartella, tale percorso diventa l'identificatore del pacchetto modello.

Per disinstallare un pacchetto modello, usare il comando dotnet new uninstall {package-folder-path}:

dotnet new uninstall c:\code\nuget-packages\some-folder
dotnet new uninstall /home/username/code/templates

Elencare i pacchetti modello

Usando il comando di disinstallazione standard senza un identificatore di pacchetto, è possibile visualizzare un elenco di pacchetti modello installati insieme al comando che disinstalla ogni pacchetto modello.

dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder

Installare pacchetti modello da altri SDK

Se ogni versione dell'SDK è stata installata in sequenza, ad esempio l'SDK 6.0, l'SDK 7.0 e così via, verranno installati tutti i modelli dell'SDK. Tuttavia, se si inizia con una versione successiva dell'SDK, ad esempio la 7.0, vengono inclusi solo i modelli per questa versione. I modelli per qualsiasi altra versione non sono inclusi.

I modelli .NET sono disponibili in NuGet ed è possibile installarli come qualsiasi altro modello. Per altre informazioni, vedere Installare il pacchetto NuGet ospitato.

SDK Identificatore del pacchetto NuGet
.NET Core 2.1 Microsoft.DotNet.Common.ProjectTemplates.2.1
.NET Core 2.2 Microsoft.DotNet.Common.ProjectTemplates.2.2
.NET Core 3.0 Microsoft.DotNet.Common.ProjectTemplates.3.0
.NET Core 3.1 Microsoft.DotNet.Common.ProjectTemplates.3.1
.NET 5.0 Microsoft.DotNet.Common.ProjectTemplates.5.0
.NET 6.0 Microsoft.DotNet.Common.ProjectTemplates.6.0
.NET 7.0 Microsoft.DotNet.Common.ProjectTemplates.7.0
ASP.NET Core 2.1 Microsoft.DotNet.Web.ProjectTemplates.2.1
ASP.NET Core 2.2 Microsoft.DotNet.Web.ProjectTemplates.2.2
ASP.NET Core 3.0 Microsoft.DotNet.Web.ProjectTemplates.3.0
ASP.NET Core 3.1 Microsoft.DotNet.Web.ProjectTemplates.3.1
ASP.NET Core 5.0 Microsoft.DotNet.Web.ProjectTemplates.5.0
ASP.NET Core 6.0 Microsoft.DotNet.Web.ProjectTemplates.6.0
ASP.NET Core 7.0 Microsoft.DotNet.Web.ProjectTemplates.7.0

Ad esempio, .NET 7 SDK include modelli per un'app console destinata a .NET 7. Se si vuole usare .NET Core 3.1 come destinazione, è necessario installare il pacchetto modello 3.1.

  1. Provare a creare un'app destinata a .NET Core 3.1.

    dotnet new console --framework netcoreapp3.1
    

    Se viene visualizzato un messaggio di errore, è necessario installare i modelli.

  2. Installare i modelli di progetto .NET Core 3.1.

    dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
    
  3. Provare a creare l'app una seconda volta.

    dotnet new console --framework netcoreapp3.1
    

    Verrà visualizzato un messaggio che indica che il progetto è stato creato.

The template "Console Application" was created successfully.

Elaborazione delle azioni post-creazione in corso... Esecuzione di 'dotnet restore' in path-to-project-file.csproj in corso... Individuazione dei progetti da ripristinare in corso... Ripristino completato in 1,05 secondi per path-to-project-file.csproj.

Restore succeeded.

Vedi anche