Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo si applica a: ✔️ .NET 6 SDK e versioni successive
Nome
dotnet new: crea un nuovo progetto, un file di configurazione o una soluzione sulla base del modello specificato.
Riepilogo
dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
[-n|--name <OUTPUT_NAME>] [-f|--framework <FRAMEWORK>] [--no-update-check]
[-o|--output <OUTPUT_DIRECTORY>] [--project <PROJECT_PATH>]
[-d|--diagnostics] [--verbosity <LEVEL>] [Template options]
dotnet new -h|--help
Descrizione
Il comando dotnet new crea un nuovo progetto .NET o altri artefatti in base a un modello.
Questo comando chiama il motore del modello per creare gli elementi su disco in base alle opzioni e al modello specificati.
Nota
A partire da .NET 7 SDK, la sintassi dotnet new è cambiata:
- Le opzioni
--list,--search,--installe--uninstallsono diventate i sottocomandilist,search,installeuninstall. - L'opzione
--update-applyè diventata il sottocomandoupdate. - Per usare
--update-check, usare il sottocomandoupdatecon l'opzione--check-only.
Altre opzioni disponibili prima sono ancora disponibili per l'uso con i rispettivi sottocomandi.
La Guida separata per ogni sottocomando è disponibile tramite l'opzione -h o --help: dotnet new <subcommand> --help elenca tutte le opzioni supportate per il sottocomando.
Inoltre, il completamento della scheda è ora disponibile per dotnet new. Supporta il completamento per i nomi dei modelli installati e per le opzioni fornite da un modello selezionato.
Per attivare il completamento della scheda per .NET SDK, vedere Abilitare il completamento della scheda.
Completamento tramite tasto TAB
A partire da .NET SDK 7.0.100, il completamento della scheda è disponibile per dotnet new. Supporta il completamento per i nomi dei modelli installati, nonché il completamento per le opzioni fornite da un modello selezionato.
Per attivare il completamento della scheda per .NET SDK, vedere Abilitare il completamento della scheda.
Ripristino implicito
Non è necessario eseguire dotnet restore perché viene eseguito in modo implicito da tutti i comandi che richiedono un ripristino, ad esempio dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish e dotnet pack. Per disabilitare il ripristino implicito, usare l'opzione --no-restore.
Il comando dotnet restore è ancora utile in alcuni scenari in cui ha senso eseguire un ripristino esplicito, ad esempio le compilazioni di integrazione continua in Azure DevOps Services o in sistemi di compilazione che richiedono il controllo esplicito quando viene eseguito il ripristino.
Per informazioni su come gestire i feed NuGet, vedere la dotnet restore documentazione.
Argomenti
TEMPLATEModello di cui creare un'istanza quando viene richiamato il comando. Ogni modello può avere opzioni specifiche che è possibile passare. Per altre informazioni, vedere Opzioni del modello.
È possibile eseguire
dotnet new listper visualizzare un elenco di tutti i modelli installati.Il
searchcomando deve essere usato per cercare modelli in NuGet.org.Per un elenco di modelli forniti con .NET SDK, vedere Modelli preinstallati.
Opzioni
--dry-runVisualizza un riepilogo di cosa accadrebbe se venisse eseguito il comando specificato e se venisse creato un modello.
--forceForza la generazione del contenuto anche se ciò modifica i file esistenti. Questa operazione è necessaria quando il modello scelto esegue l'override dei file esistenti nella directory di output.
-
-?|-h|--helpStampa una descrizione di come usare il comando .
-lang|--language {C#|F#|VB}Linguaggio del modello da creare. Il linguaggio accettato varia a seconda del modello. Vedere i valori predefiniti nella sezione Argomenti. Non è valido per alcuni modelli.
Nota
Alcune shell interpretano
#come un carattere speciale. In questi casi, è necessario racchiudere il valore del parametro del linguaggio tra virgolette. Ad esempio:dotnet new console -lang "F#".-n|--name <OUTPUT_NAME>Nome dell'output creato. Se non viene specificato alcun nome, viene usato il nome della directory corrente.
-f|--framework <FRAMEWORK>Specifica il framework di destinazione. Si prevede un moniker del framework di destinazione (TFM). Esempi: "net6.0", "net7.0-macos". Questo valore verrà riflesso nel file di progetto.
-no-update-checkDisabilita il controllo degli aggiornamenti dei pacchetti modello durante la creazione di un'istanza di un modello. Disponibile a partire da .NET SDK 6.0.100. Quando si crea un'istanza del modello da un pacchetto modello installato tramite
dotnet new --install,dotnet newverifica se è presente un aggiornamento per il modello. A partire da .NET 6, non vengono eseguiti controlli di aggiornamento per i modelli predefiniti .NET. Per aggiornare i modelli predefiniti .NET, installare la versione patch di .NET SDK.-o|--output <OUTPUT_DIRECTORY>Percorso in cui posizionare l'output generato. Il valore predefinito è la directory corrente.
--project <PROJECT_PATH>Progetto a cui viene aggiunto il modello. Questo progetto viene usato per la valutazione del contesto. Se non specificato, verrà utilizzato il progetto nelle directory correnti o padre. Disponibile a partire da .NET SDK 7.0.100.
-d|--diagnosticsAbilita l'output di diagnostica. Disponibile a partire da .NET SDK 7.0.100.
-
-v|--verbosity <LEVEL>Imposta il livello di dettaglio del comando. I valori consentiti sono
q[uiet],m[inimal],n[ormal],d[etailed]ediag[nostic]. Per altre informazioni, vedere LoggerVerbosity.
Opzioni modello
Ogni modello può avere opzioni aggiuntive definite. Per altre informazioni, vedere modelli predefiniti .NET per dotnet new.
Esempi
Creare un progetto di applicazione console C#:
dotnet new consoleCreare un progetto di applicazione console F# nella directory corrente:
dotnet new console --language "F#"Creare un progetto di libreria di classi .NET Standard 2.0 nella directory specificata:
dotnet new classlib --framework "netstandard2.0" -o MyLibraryCreare un nuovo progetto MVC con ASP.NET Core usando C# nella directory corrente senza autenticazione:
dotnet new mvc -au NoneCreare un nuovo progetto xUnit:
dotnet new xunitCreare un global.json nella directory corrente impostando l'SDK versione su 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeatureVisualizzare la guida per il modello di applicazione console C#:
dotnet new console -hVisualizzare la guida per il modello di applicazione console F#:
dotnet new console --language "F#" -h