Partilhar via


Tutorial: Criar um modelo de projeto

Com o .NET, você pode criar e implantar modelos que geram projetos, arquivos e até recursos. Este tutorial é a segunda parte de uma série que ensina como criar, instalar e desinstalar modelos para uso com o dotnet new comando.

Gorjeta

Os modelos oficiais do .NET fornecidos com o SDK do .NET podem ser encontrados nos seguintes repositórios:

Modelos Repositório
Console, biblioteca de classes e modelos de itens comuns dotnet/sdk
Modelos ASP.NET e Blazor dotnet/aspnetcore
ASP.NET Modelos de aplicativo de página única dotnet/spa-modelos
Modelos WPF dotnet/wpf
Modelos do Windows Forms dotnet/winforms
Modelos de teste dotnet/modelos de teste
Modelos MAUI dotnet/maui

Você pode visualizar os modelos instalados em sua máquina executando o dotnet new list comando.

Nesta parte da série, você aprenderá a:

  • Crie os recursos de um modelo de projeto.
  • Crie a pasta e o arquivo de configuração do modelo.
  • Instale um modelo a partir de um caminho de arquivo.
  • Teste um modelo de item.
  • Desinstale um modelo de item.

Pré-requisitos

  • Conclua a parte 1 desta série de tutoriais.
  • Abra um terminal e navegue até a pasta working\content .

Importante

Este artigo foi escrito para .NET 7. No entanto, ele também se aplica ao .NET 6 e versões anteriores, com uma diferença: a dotnet new sintaxe é diferente. Os listsubcomandos , , , e devem ser --list, , --installe --uninstall opções, uninstallsearchinstall--searchrespectivamente.

Por exemplo, o dotnet new install comando no .NET 7 torna-se dotnet new --install no .NET 6. Use o dotnet new --help comando para ver uma lista de todas as opções e subcomandos.

Criar um modelo de projeto

Os modelos de projeto produzem projetos prontos para execução que tornam mais fácil para os usuários começarem com um conjunto funcional de código. O .NET inclui alguns modelos de projeto, como um aplicativo de console ou uma biblioteca de classes. Neste exemplo, você cria um novo projeto de aplicativo de console que substitui a saída padrão do console "Hello World" por uma que é executada de forma assíncrona.

No terminal, navegue até a pasta working\content e crie uma nova subpasta chamada consoleasync. Insira a subpasta e execute dotnet new console para gerar o aplicativo de console padrão. Você editará os arquivos produzidos por este modelo para criar um novo modelo.

working
└───content
    └───consoleasync
            consoleasync.csproj
            Program.cs

Modificar programa.cs

Abra o arquivo .cs Programa. O projeto de console padrão não grava de forma assíncrona na saída do console, então vamos adicionar isso. Altere o código para o seguinte e salve o arquivo:

// See https://aka.ms/new-console-template for more information
await Console.Out.WriteAsync("Hello World with C#");

Agora que você tem o conteúdo do modelo criado, você precisa criar a configuração do modelo na pasta raiz do modelo.

Criar a configuração do modelo

Neste tutorial, sua pasta de modelo está localizada em working\content\consoleasync.

Os modelos são reconhecidos pelo .NET porque eles têm uma pasta especial e um arquivo de configuração na raiz da sua pasta de modelo.

Primeiro, crie uma nova subpasta chamada .template.config e insira-a. Em seguida, crie um novo arquivo chamado template.json. Sua estrutura de pastas deve ter esta aparência:

working
└───content
    └───consoleasync
        └───.template.config
                template.json

Abra o template.json com seu editor de texto favorito e cole no seguinte código json e salve-o.

{
  "$schema": "http://json.schemastore.org/template",
  "author": "Me",
  "classifications": [ "Common", "Console" ],
  "identity": "ExampleTemplate.AsyncProject",
  "name": "Example templates: async project",
  "shortName": "consoleasync",
  "sourceName":"consoleasync",
  "tags": {
    "language": "C#",
    "type": "project"
  }
}

Este arquivo de configuração contém todas as configurações para o seu modelo. Você pode ver as configurações básicas, como e shortName, mas também há um tags/type valor definido como nameproject. Isso categoriza seu modelo como um modelo de "projeto". Não há nenhuma restrição quanto ao tipo de modelo que você cria. Os valores e project são nomes comuns que o item .NET recomenda para que os usuários possam filtrar facilmente o tipo de modelo que estão procurando.

O sourceName item é o que é substituído quando o usuário usa o modelo. O valor de no arquivo de configuração é pesquisado em cada nome de arquivo e conteúdo de sourceName arquivo e, por padrão, é substituído pelo nome da pasta atual. Quando o parâmetro or --name é passado com o comando, o -ndotnet new valor fornecido é usado em vez do nome da pasta atual. No caso deste modelo, consoleasync é substituído no nome do arquivo .csproj .

O classifications item representa a coluna de tags que você vê quando executa dotnet new e obtém uma lista de modelos. Os usuários também podem pesquisar com base em tags de classificação. Não confunda a tagspropriedade no arquivo template.json com a classifications lista de tags. São dois conceitos diferentes que, infelizmente, são chamados da mesma forma. O esquema completo para o arquivo template.json é encontrado no Repositório de Esquema JSON e é descrito em Referência para template.json. Para obter mais informações sobre o arquivo template.json, consulte o wiki de modelos dotnet.

Agora que você tem um arquivo .template.config/template.json válido, seu modelo está pronto para ser instalado. Antes de instalar o modelo, certifique-se de excluir todas as pastas e arquivos extras que não deseja incluir no modelo, como as pastas bin ou obj . No terminal, navegue até a pasta consoleasync e execute dotnet new install .\ para instalar o modelo localizado na pasta atual. Se você estiver usando um sistema operacional Linux ou macOS, use uma barra para frente: dotnet new install ./.

dotnet new install .\

Este comando gera uma lista dos modelos instalados, que deve incluir o seu.

The following template packages will be installed:
   <root path>\working\content\consoleasync

Success: <root path>\working\content\consoleasync installed the following templates:
Templates                                         Short Name               Language          Tags
--------------------------------------------      -------------------      ------------      ----------------------
Example templates: async project                  consoleasync             [C#]              Common/Console

Testar o modelo de projeto

Agora que você tem um modelo de projeto instalado, teste-o.

  1. Navegue até a pasta de teste .

  2. Crie um novo aplicativo de console com o seguinte comando, que gera um projeto de trabalho que você pode testar facilmente com o dotnet run comando.

    dotnet new consoleasync -n MyProject
    

    Você obtém a seguinte saída.

    The template "Example templates: async project" was created successfully.
    
  3. Execute o projeto usando o seguinte comando.

    dotnet run
    

    Você obtém a seguinte saída.

    Hello World with C#
    

Parabéns! Você criou e implantou um modelo de projeto com .NET. Em preparação para a próxima parte desta série de tutoriais, desinstale o modelo que você criou. Certifique-se de excluir todos os arquivos da pasta de teste também. Isso faz com que você volte a um estado limpo pronto para a próxima parte desta série de tutoriais.

Desinstalar o modelo

No terminal, navegue até a pasta consoleasync e execute o seguinte comando para desinstalar o modelo localizado na pasta atual:

  • No Windows: dotnet new uninstall .\
  • No Linux ou macOS:dotnet new uninstall ./

Este comando gera uma lista dos modelos que foram desinstalados, que deve incluir o seu.

Success: <root path>\working\content\consoleasync was uninstalled.

A qualquer momento, você pode usar dotnet new uninstall para ver uma lista de pacotes de modelo instalados, incluindo para cada pacote de modelo o comando para desinstalá-lo.

Próximos passos

Neste tutorial, você criou um modelo de projeto. Para saber como empacotar os modelos de item e projeto em um arquivo fácil de usar, continue esta série de tutoriais.