Com o NuGet, esta tarefa, por vezes complexa e enfadonha, tornou-se numa operação muito simples.
O que é o NuGet
O NuGet é uma extensão do Visual Studio para gerir a instalação de bibliotecas e ferramentas.
Ao instalar um pacote via NuGet, este vai atualizar o projeto, gerindo todas as referências e dependências entre pacotes, e copiando os ficheiros para as pastas corretas. O NuGet também permite, de uma forma muito simples, verificar se existem novas versões de um pacote previamente instalados e proceder à sua atualização. Também torna possível desinstalar um pacote, removendo as referências e ficheiros sem quebrar o código.
Outra grande vantagem é a possibilidade de qualquer pessoa poder criar pacotes e partilhá-los na galeria do NuGet.
Desde a versão 2012 do Visual Studio que o NuGet faz parte integrante do seu IDE. Os novos projetos criados nesta versão também já têm as bibliotecas instaladas com o NuGet, sendo assim muito fácil de geri-las.
Adicionar um pacote
Existem 2 formas de adicionar um pacote a um projeto. A primeira é uma forma gráfica e para tal, basta aceder ao menu Tools > Library Package Manager > Manage Nuget Package for Solution…
Ao clicar nesta opção vai aparecer uma janela para gestão de pacotes, estando esta dividida em 3 áreas:
- do lado esquerdo, pode-se definir se é pretendido ver os pacotes instalados, os pacotes que se encontram online para instalar e as atualizações a pacotes instalados;
- ao centro, pode-se ver a lista de pacotes (consoante o que foi selecionado no lado esquerdo: instalados, online e para atualização);
- do lado direito, encontra-se uma caixa de pesquisa por nome de pacote e por baixo uma área que mostra, ao selecionar um pacote da lista, os detalhes do pacote.
Por exemplo, se for pretendido instalar o pacote Unity para MVC4, seleciona-se Online no lado esquerdo, e no lado direito, escreve-se Unity na caixa de pesquisa. Na lista de pacotes vão aparecer todos os que correspondem a este critério de pesquisa. Depois de selecionar o pacote correto (Unity.MVC), clica-se em Install.
Aparecerá uma janela para especificar em que projeto (ou projetos) é que se pretender instalar o pacote. De seguida, o NuGet vai começar a copiar ficheiros e adicionar as referências necessárias.
A segunda forma de adicionar um pacote é através da consola de gestão de pacotes. Para abrir a consola, clica-se em Tools > Library Package Manager > Package Manager Console.
Depois de aberta a consola e, para instalar o pacote do exemplo anterior, só é necessário escrever o comando
Install-Package Unity.MVC4
Ao fazer Enter o pacote começa a ser instalado, ficando logo o Unity para MVC 4 pronto para ser utilizador.
Atualizar um pacote
Para atualizar um pacote, para a versão mais atual, basta abrir o modo gráfico da gestão de pacotes e, do lado esquerdo escolher Updates. Depois, pode-se clicar Update All, que aparece na lista de pacotes, para que se atualize tudo o que está instalado ou, no caso de se querer só atualizar um pacote, seleciona-se o pacote em questão e clica-se no botão Update.
Também é possível fazer o mesmo, utilizando a consola e o comando
Update-Package jQuery
Desinstalar um Pacote
Através do modo gráfico, seleciona-se, do lado esquerdo, Installed packages e depois de selecionar o pacote que se pretende desinstalar, clica-se no botão Uninstall.
O mesmo objetivo pode ser atingido, executando, através da consola, o comando
Uninstall-Package Unity.MVC4
Restaurar pacotes durante a compilação
Quando se utiliza o NuGet, os ficheiros dos pacotes instalados são adicionados na pasta packages que está ao mesmo nível que o ficheiro da solução. Dependendo do número de pacotes instalados , esta página pode ser bastante pesada.
Para que a partilha de soluções bem como para a utilização de software de source control, é de todo o interesse que a pasta packages não seja considerada. Mas o Visual Studio tem de restaurar todos os pacotes aquando da compilação, caso contrário não encontra os ficheiros nas referências. Para tal, basta clicar na opção de menu Enable NuGet Package Restore que se encontra no menu Project.
Depois de se permitir que esta opção seja habilitada, será criado uma nova pasta na solução. Quando se executar um Build, vai ser garantido que a pasta packages existe e que todos os ficheiros dos pacotes instalados se encontram nessa pasta, fazendo com que a compilação ocorra sem erros de referências.


Sem comentários:
Enviar um comentário