Partilhar via


dotnet novo <TEMPLATE>

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 --uninstall tornaram-se list, search, installe uninstall subcomandos.
  • A --update-apply opção tornou-se o update subcomando.
  • Para usar --update-checko , use o update subcomando com a --check-only opçã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

  • TEMPLATE

    O 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 list para ver uma lista de todos os modelos instalados.

    O search comando 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-run

    Exibe um resumo do que aconteceria se o comando dado fosse executado se resultasse na criação de um modelo.

  • --force

    Forç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|--help

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

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

    Permite 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], e diag[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 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 do .NET Standard 2.0 no diretório especificado:

    dotnet new classlib --framework "netstandard2.0" -o MyLibrary
    
  • Crie um novo projeto ASP.NET Core C# MVC no diretório atual sem autenticação:

    dotnet new mvc -au None
    
  • Crie um novo projeto 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 ajuda para o modelo de aplicativo de console C#:

    dotnet new console -h
    
  • Mostrar ajuda para o modelo de aplicativo de console F#:

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

Consulte também