dotnet newdotnet new

Este tópico aplica-se ao: ✓ SDK do .NET Core 1.x SDK do .NET Core 2.xThis topic applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

NomeName

dotnet new – Cria um novo projeto, arquivo de configuração ou solução com base no modelo especificado.dotnet new - Creates a new project, configuration file, or solution based on the specified template.

SinopseSynopsis

dotnet new <TEMPLATE> [--dry-run] [--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]

DescriçãoDescription

O comando dotnet new fornece uma maneira conveniente de inicializar um projeto .NET Core válido.The dotnet new command provides a convenient way to initialize a valid .NET Core project.

O comando chama o mecanismo de modelo para criar os artefatos em disco com base no modelo e nas opções especificadas.The command calls the template engine to create the artifacts on disk based on the specified template and options.

ArgumentsArguments

TEMPLATE

O modelo para o qual criar uma instância quando o comando é invocado.The template to instantiate when the command is invoked. Cada modelo pode ter opções específicas que podem ser passadas.Each template might have specific options you can pass. Para obter mais informações, consulte Opções de modelo.For more information, see Template options.

Se o valor TEMPLATE não for uma correspondência exata no texto na coluna Modelos ou Nome Curto, uma correspondência de substring será executada nessas duas colunas.If the TEMPLATE value isn't an exact match on text in the Templates or Short Name column, a substring match is performed on those two columns.

O comando contém uma lista padrão de modelos.The command contains a default list of templates. Use dotnet new -l para obter uma lista dos modelos disponíveis.Use dotnet new -l to obtain a list of the available templates. A tabela a seguir mostra os modelos que vêm pré-instalados com o SDK do .NET Core 2.2.100.The following table shows the templates that come pre-installed with the .NET Core SDK 2.2.100. O idioma padrão do modelo é mostrado entre parênteses.The default language for the template is shown inside the brackets.

ModelosTemplates Nome curtoShort Name IdiomaLanguage MarcasTags
Aplicativo do ConsoleConsole Application console [C#], F#, VB[C#], F#, VB Comum/ConsoleCommon/Console
Biblioteca de classesClass library classlib [C#], F#, VB[C#], F#, VB Comum/LibraryCommon/Library
Projeto de Teste de UnidadeUnit Test Project mstest [C#], F#, VB[C#], F#, VB Teste/MSTestTest/MSTest
Projeto de Teste do NUnit 3NUnit 3 Test Project nunit [C#], F#, VB[C#], F#, VB Teste/NUnitTest/NUnit
Item de Teste do NUnit 3NUnit 3 Test Item nunit-test [C#], F#, VB[C#], F#, VB Teste/NUnitTest/NUnit
Projeto de Teste xUnitxUnit Test Project xunit [C#], F#, VB[C#], F#, VB Teste/xUnitTest/xUnit
Página do RazorRazor Page page [C#][C#] Web/ASP.NETWeb/ASP.NET
Importações de Exibição do MVCMVC ViewImports viewimports [C#][C#] Web/ASP.NETWeb/ASP.NET
MVC ViewStartMVC ViewStart viewstart [C#][C#] Web/ASP.NETWeb/ASP.NET
ASP.NET Core VazioASP.NET Core Empty web [C#], F#[C#], F# Web/VazioWeb/Empty
Aplicativo Web ASP.NET Core (Modelo-Exibição-Controlador)ASP.NET Core Web App (Model-View-Controller) mvc [C#], F#[C#], F# Web/MVCWeb/MVC
Aplicativo Web ASP.NET CoreASP.NET Core Web App webapp, razorwebapp, razor [C#][C#] Web/MVC/Razor PagesWeb/MVC/Razor Pages
ASP.NET Core com AngularASP.NET Core with Angular angular [C#][C#] Web/MVC/SPAWeb/MVC/SPA
ASP.NET Core com React.jsASP.NET Core with React.js react [C#][C#] Web/MVC/SPAWeb/MVC/SPA
ASP.NET Core com React.js e ReduxASP.NET Core with React.js and Redux reactredux [C#][C#] Web/MVC/SPAWeb/MVC/SPA
Biblioteca de Classes do RazorRazor Class Library razorclasslib [C#][C#] Web/Razor/Biblioteca/Biblioteca de Classes do RazorWeb/Razor/Library/Razor Class Library
API Web do ASP.NET CoreASP.NET Core Web API webapi [C#], F#[C#], F# Web/WebAPIWeb/WebAPI
Arquivo global.jsonglobal.json file globaljson ConfigConfig
Configuração do NuGetNuGet Config nugetconfig ConfigConfig
Configuração da WebWeb Config webconfig ConfigConfig
Arquivo de SoluçãoSolution File sln SoluçãoSolution

OpçõesOptions

--dry-run

Exibe um resumo do que ocorreria se o comando fornecido fosse executado se resultasse na criação de um modelo.Displays a summary of what would happen if the given command were run if it would result in a template creation.

--force

Força o conteúdo a ser gerado mesmo se ele alterasse os arquivos existentes.Forces content to be generated even if it would change existing files. Isso é necessário quando o diretório de saída já contiver um projeto.This is required when the output directory already contains a project.

-h|--help

Imprime uma ajuda para o comando.Prints out help for the command. Ele pode ser invocado para o próprio comando dotnet new ou para qualquer modelo, como 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>

Instala um pacote de origem ou de modelo do PATH ou NUGET_ID fornecido.Installs a source or template pack from the PATH or NUGET_ID provided. Se você deseja instalar uma versão de pré-lançamento de um pacote de modelo, é necessário especificar a versão no 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>. Por padrão, dotnet new passa * para a versão, o que representa a última versão estável do pacote.By default, dotnet new passes * for the version, which represents the last stable package version. Veja um exemplo na seção Exemplos.See an example at the Examples section.

Para obter informações sobre a criação de modelos personalizados, consulte Custom templates for dotnet new (Modelos personalizados para dotnet new).For information on creating custom templates, see Custom templates for dotnet new.

-l|--list

Lista os modelos que contêm o nome especificado.Lists templates containing the specified name. Se for invocado para o comando dotnet new, listará os possíveis modelos disponíveis para o diretório especificado.If invoked for the dotnet new command, it lists the possible templates available for the given directory. Por exemplo, se o diretório já contiver um projeto, ele não listará todos os modelos de projeto.For example if the directory already contains a project, it doesn't list all project templates.

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

A linguagem do modelo a ser criada.The language of the template to create. A linguagem aceita varia de acordo com o modelo (consulte os padrões na seção Argumentos).The language accepted varies by the template (see defaults in the arguments section). Não é válida para alguns modelos.Not valid for some templates.

Observação

Alguns shells interpretam # como um caractere especial.Some shells interpret # as a special character. Nesses casos, você precisa acrescentar o valor do parâmetro de idioma, como 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>

O nome para a saída criada.The name for the created output. Se nenhum nome for especificado, o nome do diretório atual será usado.If no name is specified, the name of the current directory is used.

--nuget-source

Especifica uma origem do NuGet a ser usada durante a instalação.Specifies a NuGet source to use during install.

-o|--output <OUTPUT_DIRECTORY>

Local para colocar a saída gerada.Location to place the generated output. O padrão é o diretório atual.The default is the current directory.

--type

Filtra modelos com base em tipos disponíveis.Filters templates based on available types. Os valores predefinidos são "projeto", "item" ou "outro".Predefined values are "project", "item", or "other".

-u|--uninstall <PATH|NUGET_ID>

Desinstala um pacote de origem ou de modelo no PATH ou NUGET_ID fornecido.Uninstalls a source or template pack at the PATH or NUGET_ID provided. Ao excluir o valor <PATH|NUGET_ID>, todos os pacotes de modelo atualmente instalados e seus modelos associados são exibidos.When excluding the <PATH|NUGET_ID> value, all currently installed template packs and their associated templates are displayed.

Observação

Para desinstalar um modelo usando um PATH, você precisa qualificar totalmente o caminho.To uninstall a template using a PATH, you need to fully qualify the path. Por exemplo, C:/Usuários/<USUÁRIO>/Documentos/Modelos/GarciaSoftware.ConsoleTemplate.CSharp funcionará, mas ./GarciaSoftware.ConsoleTemplate.CSharp da pasta que o contém, não.For example, C:/Users/<USER>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp will work, but ./GarciaSoftware.ConsoleTemplate.CSharp from the containing folder will not. Além disso, não inclua uma barra final de encerramento de diretório no caminho do modelo.Additionally, do not include a final terminating directory slash on your template path.

Opções de modeloTemplate options

Cada modelo de projeto pode ter opções adicionais disponíveis.Each project template may have additional options available. Os principais modelos têm as seguintes opções adicionais:The core templates have the following additional options:

consoleconsole

--langVersion <VERSION_NUMBER> – Define a propriedade LangVersion no arquivo de projeto criado.--langVersion <VERSION_NUMBER> - Sets the LangVersion property in the created project file. Por exemplo, use --langVersion 7.3 para usar C# 7.3.For example, use --langVersion 7.3 to use C# 7.3. Sem suporte para F#.Not supported for F#.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

angular, react, reactreduxangular, react, reactredux

--exclude-launch-settings – Excluir launchSettings.json do modelo gerado.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

--no-https – O projeto não requer HTTPS.--no-https - Project doesn't require HTTPS. Essa opção é aplicável somente se IndividualAuth ou OrganizationalAuth não está sendo usado.This option only applies if IndividualAuth or OrganizationalAuth are not being used.

razorclasslibrazorclasslib

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

classlibclasslib

-f|--framework <FRAMEWORK> – especifica a qual estrutura se destina.-f|--framework <FRAMEWORK> - Specifies the framework to target. Valores: netcoreapp2.2 para criar uma Biblioteca de classes do .NET Core ou netstandard2.0 para criar uma Biblioteca de classes .NET Standard.Values: netcoreapp2.2 to create a .NET Core Class Library or netstandard2.0 to create a .NET Standard Class Library. O valor padrão é netstandard2.0.The default value is netstandard2.0.

--langVersion <VERSION_NUMBER> – Define a propriedade LangVersion no arquivo de projeto criado.--langVersion <VERSION_NUMBER> - Sets the LangVersion property in the created project file. Por exemplo, use --langVersion 7.3 para usar C# 7.3.For example, use --langVersion 7.3 to use C# 7.3. Sem suporte para F#.Not supported for F#.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

mstest, xunitmstest, xunit

-p|--enable-pack – Habilita empacotamento para o projeto usando dotnet pack.-p|--enable-pack - Enables packaging for the project using dotnet pack.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

nunitnunit

-f|--framework <FRAMEWORK> – especifica a qual estrutura se destina.-f|--framework <FRAMEWORK> - Specifies the framework to target. O valor padrão é netcoreapp2.1.The default value is netcoreapp2.1.

-p|--enable-pack – Habilita empacotamento para o projeto usando dotnet pack.-p|--enable-pack - Enables packaging for the project using dotnet pack.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

pagepage

-na|--namespace <NAMESPACE_NAME> – namespace para o código gerado.-na|--namespace <NAMESPACE_NAME> - Namespace for the generated code. O valor padrão é MyApp.Namespace.The default value is MyApp.Namespace.

-np|--no-pagemodel – Cria a página sem um PageModel.-np|--no-pagemodel - Creates the page without a PageModel.

viewimportsviewimports

-na|--namespace <NAMESPACE_NAME> – namespace para o código gerado.-na|--namespace <NAMESPACE_NAME> - Namespace for the generated code. O valor padrão é MyApp.Namespace.The default value is MyApp.Namespace.

webweb

--exclude-launch-settings – Excluir launchSettings.json do modelo gerado.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

--no-https – O projeto não requer HTTPS.--no-https - Project doesn't require HTTPS. Essa opção é aplicável somente se IndividualAuth ou OrganizationalAuth não está sendo usado.This option only applies if IndividualAuth or OrganizationalAuth are not being used.

mvc, webappmvc, webapp

-au|--auth <AUTHENTICATION_TYPE> – O tipo de autenticação usado.-au|--auth <AUTHENTICATION_TYPE> - The type of authentication to use. Os valores possíveis são:The possible values are:

  • None – Nenhuma autenticação (Padrão).None - No authentication (Default).
  • Individual – Autenticação individual.Individual - Individual authentication.
  • IndividualB2C – Autenticação individual com o Azure AD B2C.IndividualB2C - Individual authentication with Azure AD B2C.
  • SingleOrg – Autenticação organizacional para um único locatário.SingleOrg - Organizational authentication for a single tenant.
  • MultiOrg – Autenticação organizacional para vários locatários.MultiOrg - Organizational authentication for multiple tenants.
  • Windows – Autenticação do Windows.Windows - Windows authentication.

--aad-b2c-instance <INSTANCE> – A instância do Azure Active Directory B2C à qual se conectar.--aad-b2c-instance <INSTANCE> - The Azure Active Directory B2C instance to connect to. Use com a autenticação do IndividualB2C.Use with IndividualB2C authentication. O valor padrão é https://login.microsoftonline.com/tfp/.The default value is https://login.microsoftonline.com/tfp/.

-ssp|--susi-policy-id <ID> – A ID da política de credenciais e de inscrição desse projeto.-ssp|--susi-policy-id <ID> - The sign-in and sign-up policy ID for this project. Use com a autenticação do IndividualB2C.Use with IndividualB2C authentication.

-rp|--reset-password-policy-id <ID> – A ID da política de senha de redefinição para este projeto.-rp|--reset-password-policy-id <ID> - The reset password policy ID for this project. Use com a autenticação do IndividualB2C.Use with IndividualB2C authentication.

-ep|--edit-profile-policy-id <ID> – A ID da política de perfil de edição para este projeto.-ep|--edit-profile-policy-id <ID> - The edit profile policy ID for this project. Use com a autenticação do IndividualB2C.Use with IndividualB2C authentication.

--aad-instance <INSTANCE> – A instância do Azure Active Directory à qual se conectar.--aad-instance <INSTANCE> - The Azure Active Directory instance to connect to. Use com a autenticação SingleOrg ou MultiOrg.Use with SingleOrg or MultiOrg authentication. O valor padrão é https://login.microsoftonline.com/.The default value is https://login.microsoftonline.com/.

--client-id <ID> – A ID do cliente deste projeto.--client-id <ID> - The Client ID for this project. Use com a autenticação IndividualB2C, SingleOrg ou MultiOrg.Use with IndividualB2C, SingleOrg, or MultiOrg authentication. O valor padrão é 11111111-1111-1111-11111111111111111.The default value is 11111111-1111-1111-11111111111111111.

--domain <DOMAIN> – O domínio do locatário de diretório.--domain <DOMAIN> - The domain for the directory tenant. Use com a autenticação SingleOrg ou IndividualB2C.Use with SingleOrg or IndividualB2C authentication. O valor padrão é qualified.domain.name.The default value is qualified.domain.name.

--tenant-id <ID> – A ID TenantId do diretório ao qual se conectar.--tenant-id <ID> - The TenantId ID of the directory to connect to. Use com a autenticação do SingleOrg.Use with SingleOrg authentication. O valor padrão é 22222222-2222-2222-2222-222222222222.The default value is 22222222-2222-2222-2222-222222222222.

--callback-path <PATH> – O caminho da solicitação dentro do caminho base do aplicativo do URI de redirecionamento.--callback-path <PATH> - The request path within the application's base path of the redirect URI. Use com a autenticação SingleOrg ou IndividualB2C.Use with SingleOrg or IndividualB2C authentication. O valor padrão é /signin-oidc.The default value is /signin-oidc.

-r|--org-read-access – Permite que esse aplicativo tenha acesso de leitura ao diretório.-r|--org-read-access - Allows this application read-access to the directory. Aplicável apenas à autenticação SingleOrg ou MultiOrg.Only applies to SingleOrg or MultiOrg authentication.

--exclude-launch-settings – Excluir launchSettings.json do modelo gerado.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

--no-https – O projeto não requer HTTPS.--no-https - Project doesn't require HTTPS. app.UseHsts e app.UseHttpsRedirection não são adicionados ao Startup.Configure.app.UseHsts and app.UseHttpsRedirection aren't added to Startup.Configure. Essa opção é aplicável somente se Individual, IndividualB2C, SingleOrg ou MultiOrg não estão sendo usados.This option only applies if Individual, IndividualB2C, SingleOrg, or MultiOrg aren't being used.

-uld|--use-local-db – Especifica que LocalDB deve ser usado em vez de SQLite.-uld|--use-local-db - Specifies LocalDB should be used instead of SQLite. Aplicável apenas à autenticação Individual ou IndividualB2C.Only applies to Individual or IndividualB2C authentication.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

webapiwebapi

-au|--auth <AUTHENTICATION_TYPE> – O tipo de autenticação usado.-au|--auth <AUTHENTICATION_TYPE> - The type of authentication to use. Os valores possíveis são:The possible values are:

  • None – Nenhuma autenticação (Padrão).None - No authentication (Default).
  • IndividualB2C – Autenticação individual com o Azure AD B2C.IndividualB2C - Individual authentication with Azure AD B2C.
  • SingleOrg – Autenticação organizacional para um único locatário.SingleOrg - Organizational authentication for a single tenant.
  • Windows – Autenticação do Windows.Windows - Windows authentication.

--aad-b2c-instance <INSTANCE> – A instância do Azure Active Directory B2C à qual se conectar.--aad-b2c-instance <INSTANCE> - The Azure Active Directory B2C instance to connect to. Use com a autenticação do IndividualB2C.Use with IndividualB2C authentication. O valor padrão é https://login.microsoftonline.com/tfp/.The default value is https://login.microsoftonline.com/tfp/.

-ssp|--susi-policy-id <ID> – A ID da política de credenciais e de inscrição desse projeto.-ssp|--susi-policy-id <ID> - The sign-in and sign-up policy ID for this project. Use com a autenticação do IndividualB2C.Use with IndividualB2C authentication.

--aad-instance <INSTANCE> – A instância do Azure Active Directory à qual se conectar.--aad-instance <INSTANCE> - The Azure Active Directory instance to connect to. Use com a autenticação do SingleOrg.Use with SingleOrg authentication. O valor padrão é https://login.microsoftonline.com/.The default value is https://login.microsoftonline.com/.

--client-id <ID> – A ID do cliente deste projeto.--client-id <ID> - The Client ID for this project. Use com a autenticação IndividualB2C ou SingleOrg.Use with IndividualB2C or SingleOrg authentication. O valor padrão é 11111111-1111-1111-11111111111111111.The default value is 11111111-1111-1111-11111111111111111.

--domain <DOMAIN> – O domínio do locatário de diretório.--domain <DOMAIN> - The domain for the directory tenant. Use com a autenticação SingleOrg ou IndividualB2C.Use with SingleOrg or IndividualB2C authentication. O valor padrão é qualified.domain.name.The default value is qualified.domain.name.

--tenant-id <ID> – A ID TenantId do diretório ao qual se conectar.--tenant-id <ID> - The TenantId ID of the directory to connect to. Use com a autenticação do SingleOrg.Use with SingleOrg authentication. O valor padrão é 22222222-2222-2222-2222-222222222222.The default value is 22222222-2222-2222-2222-222222222222.

-r|--org-read-access – Permite que esse aplicativo tenha acesso de leitura ao diretório.-r|--org-read-access - Allows this application read-access to the directory. Aplicável apenas à autenticação SingleOrg ou MultiOrg.Only applies to SingleOrg or MultiOrg authentication.

--exclude-launch-settings – Excluir launchSettings.json do modelo gerado.--exclude-launch-settings - Exclude launchSettings.json from the generated template.

--no-https – O projeto não requer HTTPS.--no-https - Project doesn't require HTTPS. app.UseHsts e app.UseHttpsRedirection não são adicionados ao Startup.Configure.app.UseHsts and app.UseHttpsRedirection aren't added to Startup.Configure. Essa opção é aplicável somente se Individual, IndividualB2C, SingleOrg ou MultiOrg não estão sendo usados.This option only applies if Individual, IndividualB2C, SingleOrg, or MultiOrg aren't being used.

-uld|--use-local-db – Especifica que LocalDB deve ser usado em vez de SQLite.-uld|--use-local-db - Specifies LocalDB should be used instead of SQLite. Aplicável apenas à autenticação Individual ou IndividualB2C.Only applies to Individual or IndividualB2C authentication.

--no-restore – Não executa uma restauração implícita durante a criação do projeto.--no-restore - Doesn't execute an implicit restore during project creation.

globaljsonglobaljson

--sdk-version <VERSION_NUMBER> – Especifica a versão do SDK do .NET Core a ser usada no arquivo global.json.--sdk-version <VERSION_NUMBER> - Specifies the version of the .NET Core SDK to use in the global.json file.

ExemplosExamples

Crie um projeto de aplicativo de console em C# especificando o nome do modelo:Create a C# console application project by specifying the template name:

dotnet new "Console Application"

Crie um projeto de aplicativo de console F# no diretório atual:Create an F# console application project in the current directory:

dotnet new console -lang F#

Crie um projeto de biblioteca de classes .NET Standard no diretório especificado (disponível somente no SDK do .NET Core 2.0 ou em versões posteriores):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

Crie um projeto de MVC em C# do ASP.NET Core no diretório atual sem autenticação:Create a new ASP.NET Core C# MVC project in the current directory with no authentication:

dotnet new mvc -au None

Crie um projeto de xUnit:Create a new xUnit project:

dotnet new xunit

Lista todos os modelos disponíveis para o MVC:List all templates available for MVC:

dotnet new mvc -l

Liste todos os modelos que correspondem à substring we.List all templates matching the we substring. Nenhuma correspondência exata é encontrada, portanto, a correspondência de substring é executada em relação tanto ao nome curto quanto às colunas de nome.No exact match is found, so substring matching runs against both the short name and name columns.

dotnet new we -l

Tentativa de invocar o modelo correspondente a ng.Attempt to invoke the template matching ng. Se não for possível determinar uma única correspondência, liste os modelos que são correspondências parciais.If a single match can't be determined, list the templates that are partial matches.

dotnet new ng

Instale a versão 2.0 dos modelos de aplicativo de página única do ASP.NET Core (opção de comando disponível somente para o SDK do .NET Core 1.1 e versões posteriores):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

Crie um global.json no diretório atual definindo a versão do SDK como 2.0.0 (disponível somente no SDK do .NET Core 2.0 ou em versões posteriores):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

Consulte tambémSee also