Compartilhar 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 parte dois de uma série que ensina como criar, instalar e desinstalar modelos para uso com o dotnet new comando.

Dica

Os modelos oficiais do .NET que são enviados com o SDK do .NET podem ser encontrados nos seguintes repositórios:

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

Você pode exibir os modelos instalados no computador 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 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 facilitam o início dos usuários com um conjunto de código de trabalho. 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

Modificar Program.cs

Abra o arquivo Program.cs . O projeto de console comum não grava asynchronousmente ​no console, portanto, adicione essa funcionalidade. 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 de modelo na pasta raiz do modelo.

Criar a configuração de template

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

Os modelos são reconhecidos pelo .NET porque têm uma pasta especial e um arquivo de configuração na raiz da 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 o código json a seguir 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"
  }
}

Esse arquivo de configuração contém todas as configurações do 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á nenhuma restrição sobre o tipo de modelo que você cria. Os valores item e project são nomes comuns que o .NET recomenda para que os usuários filtrem facilmente o tipo de template que estão procurando.

O sourceName item é o que é substituído quando o usuário usa o modelo. O valor de sourceName no arquivo de configuração é procurado em cada nome de arquivo e em todo o conteúdo dos arquivos, e por padrão é substituído pelo nome da pasta atual. Quando o parâmetro -n ou --name é passado com o comando dotnet new, usa-se o valor fornecido em vez do nome da pasta atual. No caso desse modelo, consoleasync é substituído no nome do arquivo .csproj .

O classifications item representa a coluna tags que você vê quando você executa dotnet new e obtém uma lista de modelos. Os usuários também podem pesquisar com base em marcas de classificação. Não confunda a tags propriedade no arquivo template.json com a classifications lista de marcas. São dois conceitos diferentes que infelizmente são nomeados da mesma forma. O esquema completo do arquivo template.json é encontrado no Repositório de Esquemas JSON e é descrito na Referência para template.json. Para obter mais informações sobre o arquivo template.json, consulte o wiki de modelos do 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, exclua pastas e arquivos extras que não deseja incluir em seu 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 de avanço: dotnet new install ./.

dotnet new install .\

Esse comando gera uma lista dos modelos instalados, que devem incluir os seus.

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 comando a seguir, que gera um projeto de trabalho que você pode testar facilmente com o dotnet run comando.

    dotnet new consoleasync -n MyProject
    

    A saída será apresentada a seguir.

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

    dotnet run
    

    Você obterá o seguinte resultado.

    Hello World with C#
    

Parabéns! Você criou e implantou um modelo de projeto com o .NET. Em preparação para a próxima parte desta série de tutoriais, desinstale o modelo que você criou. Exclua todos os arquivos da pasta de teste também. Isso o leva de volta 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 ./

Esse comando gera uma lista dos modelos que foram desinstalados, o 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óximas etapas

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