Condividi tramite


nuovo <MODELLO> dotnet

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, --install e --uninstall sono diventate i sottocomandi list, search, install e uninstall.
  • L'opzione --update-apply è diventata il sottocomando update.
  • Per usare --update-check, usare il sottocomando update con 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

  • TEMPLATE

    Modello 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 list per visualizzare un elenco di tutti i modelli installati.

    Il search comando deve essere usato per cercare modelli in NuGet.org.

    Per un elenco di modelli forniti con .NET SDK, vedere Modelli preinstallati.

Opzioni

  • --dry-run

    Visualizza un riepilogo di cosa accadrebbe se venisse eseguito il comando specificato e se venisse creato un modello.

  • --force

    Forza 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|--help

    Stampa 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-check

    Disabilita 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 new verifica 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|--diagnostics

    Abilita 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] e diag[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 console
    
  • Creare 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 MyLibrary
    
  • Creare un nuovo progetto MVC con ASP.NET Core usando C# nella directory corrente senza autenticazione:

    dotnet new mvc -au None
    
  • Creare un nuovo progetto xUnit:

    dotnet new xunit
    
  • Creare un global.json nella directory corrente impostando l'SDK versione su 8.0.101:

    dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
    
  • Visualizzare la guida per il modello di applicazione console C#:

    dotnet new console -h
    
  • Visualizzare la guida per il modello di applicazione console F#:

    dotnet new console --language "F#" -h
    

Vedi anche