dotnet new <TEMPLATE>
Este artigo se aplica a: ✔️ SDK do .NET Core 3.1 e versões posteriores
Nome
dotnet new
– Cria um novo projeto, arquivo de configuração ou solução com base no modelo especificado.
Sinopse
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
Descrição
O comando dotnet new
cria um projeto do .NET ou outros artefatos com base em um modelo.
O comando chama o mecanismo de modelo para criar os artefatos em disco com base no modelo e nas opções especificadas.
Observação
A partir do SDK do .NET 7, a sintaxe dotnet new
foi alterada:
- As opções
--list
,--search
,--install
e--uninstall
se tornaram os subcomandoslist
,search
,install
euninstall
. - A opção
--update-apply
se tornou o subcomandoupdate
. - Para usar
--update-check
, use o subcomandoupdate
com a opção--check-only
.
Outras opções que estavam disponíveis antes ainda estão disponíveis para serem usadas com os respectivos subcomandos.
A ajuda separada para cada subcomando está disponível por meio da ou opção -h
ou --help
: dotnet new <subcommand> --help
lista todas as opções com suporte para o subcomando.
Além disso, o preenchimento com Tab agora está disponível para dotnet new
. Ele oferece suporte ao preenchimento de nomes de modelo instalados e às opções fornecidas por um modelo selecionado.
Para ativar o preenchimento com Tab no SDK do .NET, confira Habilitar o preenchimento com Tab.
Preenchimento de guias
A partir do SDK do .NET 7.0.100, o preenchimento da guia está disponível para dotnet new
. Ele dá suporte ao preenchimento de nomes de modelo instalados, bem como das opções que um modelo selecionado oferece.
Para ativar o preenchimento com Tab no SDK do .NET, confira Habilitar o preenchimento com Tab.
Restauração implícita
Não é necessário executar dotnet restore
, pois ele é executado implicitamente por todos os comandos que exigem uma restauração, como dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
e dotnet pack
. Para desabilitar a restauração implícita, use a opção --no-restore
.
O comando dotnet restore
ainda é útil em determinados cenários em que realizar uma restauração explícita faz sentido, como compilações de integração contínua no Azure DevOps Services ou em sistemas de compilação que precisam controlar explicitamente quando a restauração ocorrerá.
Para obter informações sobre como gerenciar feeds do NuGet, confira a documentação do dotnet restore
.
Argumentos
TEMPLATE
O modelo para o qual criar uma instância quando o comando é invocado. Cada modelo pode ter opções específicas que podem ser passadas. Para obter mais informações, consulte Opções de modelo.
Você pode executar
dotnet new list
para ver uma lista de todos os modelos instalados.Começando com o SDK do .NET Core 3.0 e terminando com o SDK do .NET 5.0.300, a CLI pesquisa modelos em NuGet.org quando você invoca o comando
dotnet new
nas seguintes condições:- Se a CLI não conseguir encontrar uma correspondência de modelo, nem mesmo parcial, ao invocar
dotnet new
. - Se houver uma versão mais recente do modelo disponível. Nesse caso, o projeto ou o artefato é criado, mas a CLI avisa que há uma versão atualizada do modelo.
A partir do SDK do .NET 5.0.300, o comando
search
deve ser usado para pesquisar modelos no NuGet.org.- Se a CLI não conseguir encontrar uma correspondência de modelo, nem mesmo parcial, ao invocar
A tabela a seguir mostra os modelos que vêm pré-instalados com o SDK do .NET. O idioma padrão do modelo é mostrado entre parênteses. Clique no link de nome curto para ver as opções de modelo específicas.
Modelos | Nome curto | Idioma | Marcas | Introduzida |
---|---|---|---|---|
Aplicativo do Console | console |
[C#], F#, VB | Comum/Console | 1,0 |
Biblioteca de classes | classlib |
[C#], F#, VB | Comum/Library | 1,0 |
Aplicativo WPF | wpf |
[C#], VB | Comum/WPF | 3.0 (5.0 para VB) |
Biblioteca de classes do WPF | wpflib |
[C#], VB | Comum/WPF | 3.0 (5.0 para VB) |
Biblioteca de Controles Personalizados do WPF | wpfcustomcontrollib |
[C#], VB | Comum/WPF | 3.0 (5.0 para VB) |
Biblioteca de controle de usuário WPF | wpfusercontrollib |
[C#], VB | Comum/WPF | 3.0 (5.0 para VB) |
Aplicativo do WinForms (Windows Forms) | winforms |
[C#], VB | Comum/WinForms | 3.0 (5.0 para VB) |
Biblioteca de classes do WinForms (Windows Forms) | winformslib |
[C#], VB | Comum/WinForms | 3.0 (5.0 para VB) |
Serviço de trabalho | worker |
[C#] | Comum/trabalho/Web | 3,0 |
Projeto de Teste de Unidade | mstest |
[C#], F#, VB | Teste/MSTest | 1,0 |
Projeto de Teste do NUnit 3 | nunit |
[C#], F#, VB | Teste/NUnit | 2.1.400 |
Item de Teste do NUnit 3 | nunit-test |
[C#], F#, VB | Teste/NUnit | 2,2 |
Projeto de Teste xUnit | xunit |
[C#], F#, VB | Teste/xUnit | 1,0 |
Componente do Razor | razorcomponent |
[C#] | Web/ASP.NET | 3,0 |
Página do Razor | page |
[C#] | Web/ASP.NET | 2,0 |
Importações de Exibição do MVC | viewimports |
[C#] | Web/ASP.NET | 2,0 |
MVC ViewStart | viewstart |
[C#] | Web/ASP.NET | 2,0 |
Aplicativo Web Blazor | blazor |
[C#] | Web/Blazor | 8.0.100 |
BlazorWebAssembly Aplicativo autônomo | blazorwasm |
[C#] | Web/Blazor/WebAssembly/PWA | 3.1.300 |
ASP.NET Core Vazio | web |
[C#], F# | Web/Vazio | 1,0 |
Aplicativo Web ASP.NET Core (Modelo-Exibição-Controlador) | mvc |
[C#], F# | Web/MVC | 1,0 |
Aplicativo Web ASP.NET Core | webapp, razor |
[C#] | Web/MVC/Razor Pages | 2.2, 2.0 |
Biblioteca de Classes do Razor | razorclasslib |
[C#] | Web/Razor/Biblioteca/Biblioteca de Classes do Razor | 2.1 |
API Web do ASP.NET Core | webapi |
[C#], F# | Web/Web API/API/Service/WebAPI | 1.0 |
API do ASP.NET Core | webapiaot |
[C#] | Web/Web API/API/Service | 8.0 |
Controlador de API do ASP.NET Core | apicontroller |
[C#] | Web/ASP.NET | 8.0 |
Serviço gRPC do ASP.NET Core | grpc |
[C#] | Web/gRPC | 3,0 |
Arquivo dotnet gitignore | gitignore |
Config | 3,0 | |
Arquivo global.json | globaljson |
Config | 2,0 | |
Configuração do NuGet | nugetconfig |
Config | 1,0 | |
Arquivo de manifesto da ferramenta local do dotnet | tool-manifest |
Config | 3,0 | |
Configuração da Web | webconfig |
Config | 1,0 | |
Arquivo de Solução | sln |
Solução | 1,0 | |
Arquivo de buffer de protocolo | proto |
Web/gRPC | 3,0 | |
Arquivo EditorConfig | editorconfig |
Config | 6,0 |
A tabela a seguir mostra modelos que foram descontinuados e não vêm mais pré-instalados com o SDK do .NET. Clique no link de nome curto para ver as opções de modelo específicas.
Modelos | Nome curto | Idioma | Marcações | Descontinuado desde |
---|---|---|---|---|
ASP.NET Core com Angular | angular |
[C#] | Web/MVC/SPA | 8.0 |
ASP.NET Core com React.js | react |
[C#] | Web/MVC/SPA | 8.0 |
Aplicativo para servidores Blazor | blazorserver |
[C#] | Web/Blazor | 8.0 |
Blazor Aplicativo de servidor vazio | blazorserver-empty |
[C#] | Web/Blazor | 8.0 |
BlazorWebAssembly Aplicativo vazio | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
Opções
--dry-run
Exibe um resumo do que ocorreria se o comando fornecido fosse executado se resultasse na criação de um modelo. Disponível desde o SDK do .NET Core 2.2.
--force
Força o conteúdo a ser gerado mesmo se ele alterasse os arquivos existentes. Isso é necessário quando o modelo escolhido substituiria os arquivos existentes no diretório de saída.
-?|-h|--help
Imprime uma ajuda para o comando. Ele pode ser invocado para o próprio comando
dotnet new
ou para qualquer modelo. Por exemplo,dotnet new mvc --help
.-lang|--language {C#|F#|VB}
A linguagem do modelo a ser criada. A linguagem aceita varia de acordo com o modelo (consulte os padrões na seção Argumentos). Não é válida para alguns modelos.
Observação
Alguns shells interpretam
#
como um caractere especial. Nesses casos, coloque o valor do parâmetro de idioma entre aspas. Por exemplo,dotnet new console -lang "F#"
.-n|--name <OUTPUT_NAME>
O nome para a saída criada. Se nenhum nome for especificado, o nome do diretório atual será usado.
-f|--framework <FRAMEWORK>
Especifica a estrutura de destino. Ele espera um TFM (moniker de estrutura de destino). Exemplos: "net6.0", "net7.0-macos". Esse valor será refletido no arquivo de projeto.
-no-update-check
Desabilita a verificação de atualizações de pacote de modelo quando uma instância de modelo é criada. Disponível desde o SDK .NET 6.0.100. Ao criar uma instância do modelo por meio de um pacote de modelo que foi instalado usando o
dotnet new --install
, odotnet new
verifica se há uma atualização para o modelo. Do .NET 6 em diante, não é feita nenhuma verificação de atualização para modelos padrão do .NET. Para atualizar modelos padrão do .NET, instale a versão de patch do SDK do .NET.-o|--output <OUTPUT_DIRECTORY>
Local para colocar a saída gerada. O padrão é o diretório atual.
--project <PROJECT_PATH>
O projeto ao qual o modelo é adicionado. Esse projeto é usado para avaliação de contexto. Se não for especificado, o projeto nos diretórios atuais ou no pai será usado. Disponível desde o SDK .NET 7.0.100.
-d|--diagnostics
Habilita a saída de diagnóstico. Disponível desde o SDK .NET 7.0.100.
-v|--verbosity <LEVEL>
Define o nível de detalhes do comando. Os valores permitidos são
q[uiet]
,m[inimal]
,n[ormal]
ediag[nostic]
. Disponível desde o SDK .NET 7.0.100.
Opções de modelo
Cada modelo pode ter opções adicionais definidas. Para obter mais informações, confira modelos padrão do .NET para dotnet new
.
Exemplos
Criar um projeto de aplicativo de console C#:
dotnet new console
Crie um projeto de aplicativo de console F# no diretório atual:
dotnet new console --language "F#"
Crie um projeto de biblioteca de classes .NET Standard 2.0 no diretório especificado:
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
Crie um projeto de MVC em C# do ASP.NET Core no diretório atual sem autenticação:
dotnet new mvc -au None
Crie um projeto de xUnit:
dotnet new xunit
Crie um global.json no diretório atual definindo a versão do SDK como 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
Mostrar a ajuda do modelo de aplicativo de console C#:
dotnet new console -h
Mostrar a ajuda do modelo de aplicativo de console F#:
dotnet new console --language "F#" -h
Confira também
- comando dotnet new list
- comando dotnet new search
- comando dotnet new install
- Modelos padrão do .NET para dotnet new
- Modelos personalizados para dotnet new
- Create a custom template for dotnet new (Criar um modelo personalizado para dotnet new)