dotnet newdotnet new

Questo argomento si applica a: ✓ .NET Core SDK 1.x .NET Core SDK 2.xThis topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.x

nomeName

dotnet new: crea un nuovo progetto, un file di configurazione o una soluzione sulla base del modello specificato.dotnet new - Creates a new project, configuration file, or solution based on the specified template.

RiepilogoSynopsis

dotnet new <TEMPLATE> [--force] [-i|--install] [-lang|--language] [-n|--name] [--nuget-source] [-o|--output]
    [-u|--uninstall] [Template options]
dotnet new <TEMPLATE> [-l|--list] [--type]
dotnet new [-h|--help]

DescriptionDescription

Il comando dotnet new rappresenta un modo pratico per inizializzare un progetto .NET Core valido.The dotnet new command provides a convenient way to initialize a valid .NET Core project.

Questo comando chiama il motore del modello per creare gli elementi su disco in base alle opzioni e al modello specificati.The command calls the template engine to create the artifacts on disk based on the specified template and options.

ArgomentiArguments

TEMPLATE

Modello di cui creare un'istanza quando viene richiamato il comando.The template to instantiate when the command is invoked. Ogni modello può avere opzioni specifiche che è possibile passare.Each template might have specific options you can pass. Per altre informazioni, vedere Opzioni del modello.For more information, see Template options.

Il comando contiene un elenco predefinito di modelli.The command contains a default list of templates. Usare dotnet new -l per ottenere un elenco dei modelli disponibili.Use dotnet new -l to obtain a list of the available templates. La tabella seguente descrive i modelli preinstallati con .NET Core SDK 2.1.300.The following table shows the templates that come pre-installed with the .NET Core SDK 2.1.300. Il linguaggio predefinito per il modello è indicato tra parentesi quadre.The default language for the template is shown inside the brackets.

Descrizione del modelloTemplate description Nome del modelloTemplate name LinguaggiLanguages
Applicazione consoleConsole application console [C#], F#, VB[C#], F#, VB
Libreria di classiClass library classlib [C#], F#, VB[C#], F#, VB
Progetto di unit testUnit test project mstest [C#], F#, VB[C#], F#, VB
Progetto di xUnit testxUnit test project xunit [C#], F#, VB[C#], F#, VB
Progetto di NUnit testNUnit test project nunit [C#], F#, VB[C#], F#, VB
Pagina RazorRazor page page [C#][C#]
MVC ViewImportsMVC ViewImports viewimports [C#][C#]
MVC ViewStartMVC ViewStart viewstart [C#][C#]
ASP.NET Core vuotoASP.NET Core empty web [C#], F#[C#], F#
App Web ASP.NET Core (Model-View-Controller)ASP.NET Core Web App (Model-View-Controller) mvc [C#], F#[C#], F#
App Web ASP.NET CoreASP.NET Core Web App razor, webapprazor, webapp [C#][C#]
ASP.NET Core con AngularASP.NET Core with Angular angular [C#][C#]
ASP.NET Core con React.jsASP.NET Core with React.js react [C#][C#]
ASP.NET Core con React.js e ReduxASP.NET Core with React.js and Redux reactredux [C#][C#]
API Web ASP.NET CoreASP.NET Core Web API webapi [C#], F#[C#], F#
Libreria di classi RazorRazor class library razorclasslib [C#][C#]
File global.jsonglobal.json file globaljson
Configurazione NugetNuGet config nugetconfig
Configurazione WebWeb config webconfig
File di soluzioneSolution file sln

OpzioniOptions

--force

Forza la generazione del contenuto anche se ciò modifica i file esistenti.Forces content to be generated even if it would change existing files. Questo è necessario quando la directory di output contiene già un progetto.This is required when the output directory already contains a project.

-h|--help

Stampa la Guida per il comando.Prints out help for the command. Può essere richiamato per il comando dotnet new stesso o per qualsiasi modello, ad esempio dotnet new mvc --help.It can be invoked for the dotnet new command itself or for any template, such as dotnet new mvc --help.

-i|--install <PATH|NUGET_ID>

Installa un pacchetto di modelli o origine dal valore PATH o NUGET_ID fornito.Installs a source or template pack from the PATH or NUGET_ID provided. Se si vuole installare una versione provvisoria di un pacchetto di modelli, è necessario specificare la versione nel formato <package-name>::<package-version>.If you want to install a prerelease version of a template package, you need to specify the version in the format of <package-name>::<package-version>. Per impostazione predefinita dotnet new passa * per la versione, che rappresenta l'ultima versione stabile del pacchetto.By default, dotnet new passes * for the version, which represents the last stable package version. Per un esempio, vedere la sezione Esempi.See an example at the Examples section.

Per informazioni sulla creazione di modelli personalizzati, vedere Modelli personalizzati per dotnet new.For information on creating custom templates, see Custom templates for dotnet new.

-l|--list

Elenca i modelli contenenti il nome specificato.Lists templates containing the specified name. Se richiamato per il comando dotnet new, elenca i possibili modelli disponibili per la directory specificata.If invoked for the dotnet new command, it lists the possible templates available for the given directory. Se ad esempio la directory contiene già un progetto, non elenca tutti i modelli di progetto.For example if the directory already contains a project, it doesn't list all project templates.

-lang|--language {C#|F#|VB}

Linguaggio del modello da creare.The language of the template to create. Il linguaggio accettato varia a seconda del modello. Vedere i valori predefiniti nella sezione Argomenti.The language accepted varies by the template (see defaults in the arguments section). Non è valido per alcuni modelli.Not valid for some templates.

Nota

Alcune shell interpretano # come un carattere speciale.Some shells interpret # as a special character. In questi casi, è necessario racchiudere il valore del parametro relativo al linguaggio, ad esempio dotnet new console -lang "F#".In those cases, you need to enclose the language parameter value, such as dotnet new console -lang "F#".

-n|--name <OUTPUT_NAME>

Nome dell'output creato.The name for the created output. Se non viene specificato alcun nome, viene usato il nome della directory corrente.If no name is specified, the name of the current directory is used.

--nuget-source

Specifica un'origine NuGet da usare durante l'installazione.Specifies a NuGet source to use during install.

-o|--output <OUTPUT_DIRECTORY>

Percorso in cui posizionare l'output generato.Location to place the generated output. Il valore predefinito è la directory corrente.The default is the current directory.

--type

Filtra i modelli in base ai tipi disponibili.Filters templates based on available types. I valori predefiniti sono "project", "item" o "other".Predefined values are "project", "item" or "other".

-u|--uninstall <PATH|NUGET_ID>

Disinstalla un pacchetto di modelli o origine dal valore PATH o NUGET_ID fornito.Uninstalls a source or template pack at the PATH or NUGET_ID provided.

Nota

Per disinstallare un modello con PATH, è necessario specificare il percorso completo.To uninstall a template using a PATH, you need to fully qualify the path. Ad esempio, C:/Users/<UTENTE>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp è corretto, ma ./GarciaSoftware.ConsoleTemplate.CSharp dalla cartella contenitore non funzionerà.For example, C:/Users/<USER>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp will work, but ./GarciaSoftware.ConsoleTemplate.CSharp from the containing folder will not. Inoltre, non includere la barra finale di terminazione della directory nel percorso del modello.Additionally, do not include a final terminating directory slash on your template path.

Opzioni del modelloTemplate options

Per ogni modello di progetto potrebbero essere disponibili opzioni aggiuntive.Each project template may have additional options available. I modelli principali includono le opzioni aggiuntive seguenti:The core templates have the following additional options:

console, angular, react, reactredux, razorclasslibconsole, angular, react, reactredux, razorclasslib

--no-restore: non esegue un ripristino implicito durante la creazione del progetto.--no-restore - Doesn't execute an implicit restore during project creation.

classlibclasslib

-f|--framework <FRAMEWORK>: specifica il framework di destinazione.-f|--framework <FRAMEWORK> - Specifies the framework to target. Valori: netcoreapp2.0 per creare una libreria di classi .NET Core o netstandard2.0 per creare una libreria di classi .NET Standard.Values: netcoreapp2.0 to create a .NET Core Class Library or netstandard2.0 to create a .NET Standard Class Library. Il valore predefinito è netstandard2.0.The default value is netstandard2.0.

--no-restore: non esegue un ripristino implicito durante la creazione del progetto.--no-restore - Doesn't execute an implicit restore during project creation.

mstest, xunitmstest, xunit

-p|--enable-pack: abilita la creazione del pacchetto per il progetto usando dotnet pack.-p|--enable-pack - Enables packaging for the project using dotnet pack.

--no-restore: non esegue un ripristino implicito durante la creazione del progetto.--no-restore - Doesn't execute an implicit restore during project creation.

globaljsonglobaljson

--sdk-version <VERSION_NUMBER>: specifica la versione di .NET Core SDK da usare nel file global.json.--sdk-version <VERSION_NUMBER> - Specifies the version of the .NET Core SDK to use in the global.json file.

webweb

--exclude-launch-settings: esclude launchSettings.json dal modello generato.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

--no-restore: non esegue un ripristino implicito durante la creazione del progetto.--no-restore - Doesn't execute an implicit restore during project creation.

--no-https: il progetto non richiede HTTPS.--no-https - Project doesn't require HTTPS. Questa opzione si applica solo se IndividualAuth o OrganizationalAuth non sono in uso.This option only applies if IndividualAuth or OrganizationalAuth are not being used.

webapiwebapi

-au|--auth <AUTHENTICATION_TYPE>: tipo di autenticazione da usare.-au|--auth <AUTHENTICATION_TYPE> - The type of authentication to use. I valori possibili sono:The possible values are:

  • None: nessuna autenticazione (valore predefinito).None - No authentication (Default).
  • IndividualB2C: singola autenticazione con Azure AD B2C.IndividualB2C - Individual authentication with Azure AD B2C.
  • SingleOrg: autenticazione aziendale per un singolo tenant.SingleOrg - Organizational authentication for a single tenant.
  • Windows: autenticazione di Windows.Windows - Windows authentication.

--aad-b2c-instance <INSTANCE>: istanza di Azure Active Directory B2C a cui connettersi.--aad-b2c-instance <INSTANCE> - The Azure Active Directory B2C instance to connect to. Usare con l'autenticazione IndividualB2C.Use with IndividualB2C authentication. Il valore predefinito è https://login.microsoftonline.com/tfp/.The default value is https://login.microsoftonline.com/tfp/.

-ssp|--susi-policy-id <ID>: l'ID di criteri di accesso e iscrizione per questo progetto.-ssp|--susi-policy-id <ID> - The sign-in and sign-up policy ID for this project. Usare con l'autenticazione IndividualB2C.Use with IndividualB2C authentication.

--aad-instance <INSTANCE>: istanza di Azure Active Directory a cui connettersi.--aad-instance <INSTANCE> - The Azure Active Directory instance to connect to. Usare con l'autenticazione SingleOrg.Use with SingleOrg authentication. Il valore predefinito è https://login.microsoftonline.com/.The default value is https://login.microsoftonline.com/.

--client-id <ID>: ID client per il progetto.--client-id <ID> - The Client ID for this project. Usare con l'autenticazione IndividualB2C o SingleOrg.Use with IndividualB2C or SingleOrg authentication. Il valore predefinito è 11111111-1111-1111-11111111111111111.The default value is 11111111-1111-1111-11111111111111111.

--domain <DOMAIN>: il dominio per il tenant della directory.--domain <DOMAIN> - The domain for the directory tenant. Usare con l'autenticazione SingleOrg o IndividualB2C.Use with SingleOrg or IndividualB2C authentication. Il valore predefinito è qualified.domain.name.The default value is qualified.domain.name.

--tenant-id <ID>: l'ID di tenantid all'interno della directory a cui connettersi.--tenant-id <ID> - The TenantId ID of the directory to connect to. Usare con l'autenticazione SingleOrg.Use with SingleOrg authentication. Il valore predefinito è 22222222-2222-2222-2222-222222222222.The default value is 22222222-2222-2222-2222-222222222222.

-r|--org-read-access: consente all'applicazione l'accesso in lettura sulla directory.-r|--org-read-access - Allows this application read-access to the directory. Si applica solo all'autenticazione SingleOrg o MultiOrg.Only applies to SingleOrg or MultiOrg authentication.

--exclude-launch-settings: esclude launchSettings.json dal modello generato.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

-uld|--use-local-db: specifica che deve essere usato Local DB invece di SQLite.-uld|--use-local-db - Specifies LocalDB should be used instead of SQLite. Si applica solo all'autenticazione Individual o IndividualB2C.Only applies to Individual or IndividualB2C authentication.

--no-restore: non esegue un ripristino implicito durante la creazione del progetto.--no-restore - Doesn't execute an implicit restore during project creation.

--no-https: il progetto non richiede HTTPS.--no-https - Project doesn't require HTTPS. app.UseHsts e app.UseHttpsRedirection non vengono aggiunti a Startup.Configure.app.UseHsts and app.UseHttpsRedirection aren't added to Startup.Configure. Questa opzione si applica solo se Individual, IndividualB2C, SingleOrg o MultiOrg non sono in uso.This option only applies if Individual, IndividualB2C, SingleOrg, or MultiOrg aren't being used.

mvc, razormvc, razor

-au|--auth <AUTHENTICATION_TYPE>: tipo di autenticazione da usare.-au|--auth <AUTHENTICATION_TYPE> - The type of authentication to use. I valori possibili sono:The possible values are:

  • None: nessuna autenticazione (valore predefinito).None - No authentication (Default).
  • Individual: autenticazione singola.Individual - Individual authentication.
  • IndividualB2C: singola autenticazione con Azure AD B2C.IndividualB2C - Individual authentication with Azure AD B2C.
  • SingleOrg: autenticazione aziendale per un singolo tenant.SingleOrg - Organizational authentication for a single tenant.
  • MultiOrg: autenticazione aziendale per più tenant.MultiOrg - Organizational authentication for multiple tenants.
  • Windows: autenticazione di Windows.Windows - Windows authentication.

--aad-b2c-instance <INSTANCE>: istanza di Azure Active Directory B2C a cui connettersi.--aad-b2c-instance <INSTANCE> - The Azure Active Directory B2C instance to connect to. Usare con l'autenticazione IndividualB2C.Use with IndividualB2C authentication. Il valore predefinito è https://login.microsoftonline.com/tfp/.The default value is https://login.microsoftonline.com/tfp/.

-ssp|--susi-policy-id <ID>: l'ID di criteri di accesso e iscrizione per questo progetto.-ssp|--susi-policy-id <ID> - The sign-in and sign-up policy ID for this project. Usare con l'autenticazione IndividualB2C.Use with IndividualB2C authentication.

-rp|--reset-password-policy-id <ID>: l'ID di criteri di reimpostazione della password per questo progetto.-rp|--reset-password-policy-id <ID> - The reset password policy ID for this project. Usare con l'autenticazione IndividualB2C.Use with IndividualB2C authentication.

-ep|--edit-profile-policy-id <ID>: l'ID dei criteri del profilo di modifica per questo progetto.-ep|--edit-profile-policy-id <ID> - The edit profile policy ID for this project. Usare con l'autenticazione IndividualB2C.Use with IndividualB2C authentication.

--aad-instance <INSTANCE>: istanza di Azure Active Directory a cui connettersi.--aad-instance <INSTANCE> - The Azure Active Directory instance to connect to. Usare con l'autenticazione SingleOrg o MultiOrg.Use with SingleOrg or MultiOrg authentication. Il valore predefinito è https://login.microsoftonline.com/.The default value is https://login.microsoftonline.com/.

--client-id <ID>: ID client per il progetto.--client-id <ID> - The Client ID for this project. Usare con l'autenticazione IndividualB2C, SingleOrg o MultiOrg.Use with IndividualB2C, SingleOrg, or MultiOrg authentication. Il valore predefinito è 11111111-1111-1111-11111111111111111.The default value is 11111111-1111-1111-11111111111111111.

--domain <DOMAIN>: il dominio per il tenant della directory.--domain <DOMAIN> - The domain for the directory tenant. Usare con l'autenticazione SingleOrg o IndividualB2C.Use with SingleOrg or IndividualB2C authentication. Il valore predefinito è qualified.domain.name.The default value is qualified.domain.name.

--tenant-id <ID>: l'ID di tenantid all'interno della directory a cui connettersi.--tenant-id <ID> - The TenantId ID of the directory to connect to. Usare con l'autenticazione SingleOrg.Use with SingleOrg authentication. Il valore predefinito è 22222222-2222-2222-2222-222222222222.The default value is 22222222-2222-2222-2222-222222222222.

--callback-path <PATH>: il percorso della richiesta all'interno del percorso base dell'applicazione dell'URI di reindirizzamento.--callback-path <PATH> - The request path within the application's base path of the redirect URI. Usare con l'autenticazione SingleOrg o IndividualB2C.Use with SingleOrg or IndividualB2C authentication. Il valore predefinito è /signin-oidc.The default value is /signin-oidc.

-r|--org-read-access: consente all'applicazione l'accesso in lettura sulla directory.-r|--org-read-access - Allows this application read-access to the directory. Si applica solo all'autenticazione SingleOrg o MultiOrg.Only applies to SingleOrg or MultiOrg authentication.

--exclude-launch-settings: esclude launchSettings.json dal modello generato.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

--use-browserlink: include BrowserLink nel progetto.--use-browserlink - Includes BrowserLink in the project.

-uld|--use-local-db: specifica che deve essere usato Local DB invece di SQLite.-uld|--use-local-db - Specifies LocalDB should be used instead of SQLite. Si applica solo all'autenticazione Individual o IndividualB2C.Only applies to Individual or IndividualB2C authentication.

--no-restore: non esegue un ripristino implicito durante la creazione del progetto.--no-restore - Doesn't execute an implicit restore during project creation.

--no-https: il progetto non richiede HTTPS.--no-https - Project doesn't require HTTPS. app.UseHsts e app.UseHttpsRedirection non vengono aggiunti a Startup.Configure.app.UseHsts and app.UseHttpsRedirection aren't added to Startup.Configure. Questa opzione si applica solo se Individual, IndividualB2C, SingleOrg o MultiOrg non sono in uso.This option only applies if Individual, IndividualB2C, SingleOrg, or MultiOrg aren't being used.

pagepage

-na|--namespace <NAMESPACE_NAME>: spazio dei nomi per il codice generato.-na|--namespace <NAMESPACE_NAME>- Namespace for the generated code. Il valore predefinito è MyApp.Namespace.The default value is MyApp.Namespace.

-np|--no-pagemodel: crea la pagina senza un PageModel.-np|--no-pagemodel - Creates the page without a PageModel.

viewimportsviewimports

-na|--namespace <NAMESPACE_NAME>: spazio dei nomi per il codice generato.-na|--namespace <NAMESPACE_NAME>- Namespace for the generated code. Il valore predefinito è MyApp.Namespace.The default value is MyApp.Namespace.

EsempiExamples

Creare un progetto di applicazione console F# nella directory corrente:Create an F# console application project in the current directory:

dotnet new console -lang F#

Creare un progetto di libreria di classi .NET Standard nella directory specificata, disponibile solo con .NET Core SDK 2.0 o versioni successive:Create a .NET Standard class library project in the specified directory (available only with .NET Core SDK 2.0 or later versions):

dotnet new classlib -lang VB -o MyLibrary

Creare un nuovo progetto di applicazione MVC con ASP.NET Core usando C# nella directory corrente senza autenticazione:Create a new ASP.NET Core C# MVC application project in the current directory with no authentication:

dotnet new mvc -au None

Creare una nuova applicazione xUnit:Create a new xUnit application:

dotnet new xunit

Elencare tutti i modelli disponibili per MVC:List all templates available for MVC:

dotnet new mvc -l

Installare la versione 2.0 dei modelli di applicazione a pagina singola per ASP.NET Core (opzione di comando disponibile solo per .NET Core SDK 1.1 e versioni successive):Install version 2.0 of the Single Page Application templates for ASP.NET Core (command option available for .NET Core SDK 1.1 and later versions only):

dotnet new -i Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0

Creare un file global.json nell'impostazione di directory corrente impostando la versione SDK su 2.0.0 (disponibile solo con .NET Core SDK 2.0 o versioni successive):Create a global.json in the current directory setting the SDK version to 2.0.0 (available only with .NET Core SDK 2.0 or later versions):

dotnet new globaljson --sdk-version 2.0.0

Vedere ancheSee also