Criando pacotes NuGet Multi-Targeting
Com a evolução da plataforma .NET da Microsoft, se fez necessário prover uma forma de entregar pacotes NuGet que suportem as várias versões disponíveis.
Conhecer e saber utilizar estratégias efetivas para migração e/ou atualização de um sistema, pode ser uma mão na roda. Pensando nisso, a Microsoft introduziu no Visual Studio a possibilidade de criarmos pacotes multi-targeting.
Imagine um cenário onde a mesma biblioteca, distribuída via NuGet, é usada por vários projetos e, que, realizar a atualização de todos ao mesmo tempo é arriscado e custoso.
Como resolver esse impasse? Pacotes multi-targeting.
Assim, podemos criar um pacote contendo os assemblies para mais de uma plataforma (4.5.1, 4.7.2, Core…), mantendo a consistência de vários projetos e, possibilitando uma migração gradativa.
Como configurar o projeto de pacotes multi-targeting
Inicialmente, precisaremos criar um projeto .NET Standard no Visual Studio (VS).
Após a criado, podemos observar que o projeto possui apenas dependências para o .NET Standard.
Assim, para contemplarmos outros targets, faremos uma pequena alteração no .csproj, modificando a tag TargetFramework para TargetFrameworks e, adicionando as plataformas desejadas.
Em seguida, ao voltarmos para o VS, veremos que ele alterou as dependências de acordo com a configuração feita.
Abaixo vemos que o projeto não permite especificar um target dada as modificações que fizemos.
Na sequência, mudaremos mais uma configuração, ativar a geração dos pacotes durante o build.
Agora vamos “buildar” a aplicação e teremos o seguinte na sua pasta bin.
Conclusão
Conforme vimos, é bastante simples realizar a configuração de uma biblioteca multi-targeting.
Apesar dessa solução ser bastante útil, ela não é uma bala de prata, podendo não se aplicar a alguns cenários.
Deixe seus comentários abaixo, ficarei feliz em responder. Até a próxima!
Os comentários estão fechados, mas trackbacks E pingbacks estão abertos.