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 list
subcomandos , , , e devem ser --list
, , --install
e --uninstall
opções, uninstall
search
install
--search
respectivamente.
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 name
project
. 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 -n
dotnet 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 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 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.
Navegue até a pasta de teste .
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.
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.