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.
Ad esempio, .NET 9 SDK include modelli per un'app console destinata a .NET 9. Se si vuole usare .NET Core 3.1 come destinazione, è necessario installare il pacchetto modello 3.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.
Installare i modelli di progetto .NET Core 3.1.
dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
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. Processing post-creation actions... Running 'dotnet restore' on path-to-project-file.csproj... Determining projects to restore... Restore completed in 1.05 sec for path-to-project-file.csproj. Restore succeeded.