Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo aplica-se a: ✔️ .NET 6 SDK 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
Description
O dotnet new comando cria um projeto .NET ou outros artefatos com base em um modelo.
O comando chama o mecanismo de modelo para criar os artefatos no disco com base no modelo e nas opções especificadas.
Nota
A partir do SDK do .NET 7, a dotnet new sintaxe foi alterada:
- As
--listopções ,--search,--installe--uninstalltornaram-selist,search,installeuninstallsubcomandos. - A
--update-applyopção tornou-se oupdatesubcomando. - Para usar
--update-checko , use oupdatesubcomando com a--check-onlyopção.
Outras opções que estavam disponíveis antes ainda estão disponíveis para uso com seus respetivos subcomandos.
Ajuda separada para cada subcomando está disponível através da -h opção ou --help : dotnet new <subcommand> --help lista todas as opções suportadas para o subcomando.
Além disso, o preenchimento de guias agora está disponível para dotnet new. Ele suporta a conclusão para nomes de modelo instalados e para as opções que um modelo selecionado fornece.
Para ativar o preenchimento de guias para o SDK do .NET, consulte Habilitar conclusão de guia.
Preenchimento de tabulação
A partir do .NET SDK 7.0.100, o preenchimento da guia está disponível para dotnet new. Ele suporta a conclusão para nomes de modelo instalados, bem como a conclusão para as opções que um modelo selecionado fornece.
Para ativar o preenchimento de guias para o SDK do .NET, consulte Habilitar conclusão de guia.
Restauração implícita
Você não precisa executar dotnet restore porque ele é executado implicitamente por todos os comandos que exigem uma restauração para ocorrer, como dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishe dotnet pack. Para desativar a restauração implícita, use a --no-restore opção.
O dotnet restore comando ainda é útil em determinados cenários em que a restauração explícita faz sentido, como compilações de integração contínua nos Serviços de DevOps do Azure ou em sistemas de compilação que precisam controlar explicitamente quando a restauração ocorre.
Para obter informações sobre como gerenciar feeds NuGet, consulte a dotnet restore documentação.
Argumentos
TEMPLATEO modelo a ser instanciado quando o comando é invocado. Cada modelo pode ter opções específicas que você pode passar. Para obter mais informações, consulte Opções de modelo.
Você pode executar
dotnet new listpara ver uma lista de todos os modelos instalados.O
searchcomando deve ser usado para procurar modelos em NuGet.org.Para obter uma lista de modelos fornecidos com o SDK do .NET, consulte Modelos pré-instalados.
Opções
--dry-runExibe um resumo do que aconteceria se o comando dado fosse executado se resultasse na criação de um modelo.
--forceForça o conteúdo a ser gerado, mesmo que altere arquivos existentes. Isso é necessário quando o modelo escolhido substitui os arquivos existentes no diretório de saída.
-
-?|-h|--helpImprime uma descrição de como usar o comando.
-lang|--language {C#|F#|VB}A linguagem do modelo a ser criado. O idioma aceito varia de acordo com o modelo (consulte os padrões na seção de argumentos ). Não é válido para alguns modelos.
Nota
Algumas conchas interpretam
#como um caráter especial. Nesses casos, coloque o valor do parâmetro language entre aspas. Por exemplo,dotnet new console -lang "F#".-n|--name <OUTPUT_NAME>O nome da 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 apelido de estrutura de destino (TFM). Exemplos: "net6.0", "net7.0-macos". Esse valor será refletido no arquivo de projeto.
-no-update-checkDesabilita a verificação de atualizações de pacotes de modelos ao instanciar um modelo. Disponível desde .NET SDK 6.0.100. Ao instanciar o modelo de um pacote de modelo que foi instalado usando
dotnet new --installo ,dotnet newverifica se há uma atualização para o modelo. A partir do .NET 6, nenhuma verificação de atualização é feita para modelos padrão do .NET. Para atualizar os modelos padrão do .NET, instale a versão do 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. Este projeto é usado para avaliação de contexto. Se não for especificado, o projeto nos diretórios pai ou atual será usado. Disponível desde .NET SDK 7.0.100.
-d|--diagnosticsPermite a saída de diagnóstico. Disponível desde .NET SDK 7.0.100.
-
-v|--verbosity <LEVEL>Define o nível de detalhamento do comando. Os valores permitidos são
q[uiet],m[inimal],n[ormal],d[etailed], ediag[nostic]. Para obter mais informações, consulte LoggerVerbosity.
Opções do modelo
Cada modelo pode ter opções adicionais definidas. Para obter mais informações, consulte Modelos padrão do .NET para dotnet new.
Exemplos
Crie um projeto de aplicativo de console C#:
dotnet new consoleCrie um projeto de aplicativo de console F# no diretório atual:
dotnet new console --language "F#"Crie um projeto de biblioteca de classes do .NET Standard 2.0 no diretório especificado:
dotnet new classlib --framework "netstandard2.0" -o MyLibraryCrie um novo projeto ASP.NET Core C# MVC no diretório atual sem autenticação:
dotnet new mvc -au NoneCrie um novo projeto xUnit:
dotnet new xunitCrie 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 latestFeatureMostrar ajuda para o modelo de aplicativo de console C#:
dotnet new console -hMostrar ajuda para o modelo de aplicativo de console F#:
dotnet new console --language "F#" -h