Partilhar via


Tutorial: Criar um modelo de projeto

Com o .NET, você pode criar e implantar modelos que geram projetos, arquivos e 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.

Sugestão

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-templates
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ê aprende 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

  • .NET 9 ou uma versão posterior.

  • Conclua a parte 1 desta série de tutoriais.

  • Abra um terminal e navegue até a pasta working\content .

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. Edite os arquivos produzidos por este modelo para criar um novo modelo.

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

Alterar Program.cs

Abra o arquivo Program.cs . O projeto de console padrão não grava de forma assíncrona na saída do console, portanto, adicione 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 template

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.confige 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 name e shortName, mas também há um tags/type valor definido como project. Isso categoriza seu modelo como um modelo de "projeto". Não há restrição quanto ao tipo de modelo criado. Os valores item e project são nomes comuns que a .NET recomenda para que os utilizadores possam filtrar facilmente o tipo de modelo que estão à procura.

O sourceName item é o que é substituído quando o usuário usa o modelo. O valor de sourceName no ficheiro de configuração é pesquisado em cada nome de ficheiro e no conteúdo dos ficheiros e, por padrão, é substituído pelo nome da pasta atual. Quando o parâmetro -n ou --name é passado com o comando dotnet new, o valor fornecido é utilizado 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 tags propriedade 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 estiveres a usar um sistema operativo Linux ou macOS, usa uma barra inclinada: 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:

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.