Empacotar uma biblioteca de classes do Razor
- 3 minutos
Uma tarefa que você geralmente precisa executar é empacotar bibliotecas para reutilização por outros desenvolvedores. O empacotamento do NuGet torna trivial que qualquer desenvolvedor em qualquer lugar adquira e configure corretamente todas as referências do .NET para seus aplicativos.
Na unidade anterior, você criou seu componente de diálogo modal e o usou em seu próprio aplicativo. Agora você deseja reutilizá-lo em outros aplicativos.
Nesta unidade, você aprenderá as etapas necessárias para configurar uma biblioteca de classes razor como um pacote NuGet. Você também aprenderá a empacotar a biblioteca para distribuição usando um serviço de repositório de pacotes, como NuGet.org ou repositórios do GitHub.
Configurar uma biblioteca de classes Razor para empacotamento no NuGet
O ecossistema do .NET facilita a definição das propriedades necessárias para que outros desenvolvedores identifiquem e usem seus componentes. Você pode definir todas essas propriedades no arquivo de projeto (*.csproj) da biblioteca de classes razor para que elas viajem com a biblioteca. Em seguida, as propriedades são atualizadas adequadamente quando sua biblioteca é atualizada.
Você pode configurar campos que identificam seu pacote na caixa de diálogo Propriedades do Projeto do Visual Studio – Pacote ou pode criar entradas diretamente no arquivo *.csproj por conta própria.
Os quatro campos necessários para criar um pacote são:
| Campo | Descrição | Valor padrão |
|---|---|---|
| ID do Pacote | Um identificador de pacote exclusivo em todo o repositório NuGet. | AssemblyName da biblioteca |
| Versão | Um número de versão específico no formulário Major.Minor.Patch[-Sufixo], onde -Sufixo define opcionalmente versões de pré-lançamento. | 1.0.0 |
| Autores | Os autores do pacote. | AssemblyName |
| Empresa | O nome da empresa responsável por criar e publicar o pacote. | AssemblyName |
Alguns desses campos têm valores padrão e pode parecer engraçado publicar um pacote com o nome da empresa MyFirstLibrary. É altamente recomendável que você defina explicitamente esses valores.
Na unidade anterior, você aprendeu que o conteúdo estático de uma biblioteca de classes Razor está disponível em _content/[PACKAGE_ID]/, e agora você vê onde o valor de PackageId está configurado.
Um arquivo de projeto de exemplo com esses valores configurados pode ser semelhante ao exemplo a seguir:
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
Ao compilar o projeto, você também pode configurá-lo para gerar um pacote NuGet selecionando a opção para Gerar Pacote NuGet no Build na caixa de diálogo Propriedades do Projeto do Visual Studio ou adicionando uma GeneratePackageOnBuild entrada ao lado dos outros campos de pacote, conforme mostrado aqui:
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
Você pode configurar muitas propriedades opcionais do projeto, incluindo:
- Um
Descriptionque é apropriado para exibição no repositório NuGet - Um aviso de direitos autorais
- Informações de licenciamento
- Ícones
- URLs do projeto
Para obter uma lista completa de propriedades, verifique a documentação da Microsoft sobre o destino do pacote MSBuild.
Empacotar a biblioteca
Depois de escrever a configuração da biblioteca no arquivo *.csproj , você pode gerar o pacote NuGet no Visual Studio clicando com o botão direito do mouse no projeto e selecionando o comando Pacote ou na pasta do projeto, executando o seguinte comando:
dotnet pack
Esse dotnet pack comando gera um pacote com o PackageID e o número de versão e o coloca na pasta de saída de build do projeto padrão.