Este artigo fala de uma nova extensão do Visual Studio 2010, patrocinada pela Microsoft e pelos desenvolvedores independentes do projeto Nubular (NU), chamada NuGet. Ela funciona como um gerenciador de pacotes na plataforma .NET.
Para que serve
Desenvolvedores sempre criam novas formas de facilitar seu próprio trabalho. Com o aplicativo NuGet é possível poupar esforço uma vez que ele é responsável por todo o processo de localização e adição de referências aos componentes de terceiros, automatizando todo este processo.
Em que situação o tema é útil
Quando criamos, por exemplo, um novo projeto web, nós já temos "de cabeça" tudo que precisaremos para o nosso desenvolvimento, sejam bibliotecas de script para trabalhar uma interface mais amigável ao usuário ou componentes de acesso a dados que facilitem nossa vida. Com uma ferramenta de gerenciamento de referência, é possível minimizar tempo e esforço nesta etapa inicial da codificação.
Resumo do DevMan
O NuGet é uma aplicação que localiza e gerencia o uso de componentes de terceiros, como o Moq, log4net, jQuery etc., dentro dos nossos projetos no Visual Studio. Neste artigo veremos como utilizá-lo e também como criar nossos próprios pacotes para permitir a sua distribuição.
Existem inúmeras bibliotecas de componentes .NET disponíveis pela Internet que podem ser utilizadas nos nossos projetos, seja para facilitar o acesso aos dados armazenados em repositórios, como o SQL Server, ou para gravar logs de execução dessas aplicações. Podemos citar como exemplos desses componentes o NHibernate e o log4net, ambos projetos abertos para a comunidade.
Este conceito de reutilização é muito importante, pois poupa tempo e trabalho. No entanto, isso traz um esforço adicional: encontrar a última versão dessas bibliotecas na Internet (e em muitos casos as suas dependências), baixá-las e fazer a referência nos projetos. Esse trabalho seria poupado ainda mais se houvesse uma ferramenta que centralizasse todo o acesso a esses componentes e facilitasse o processo de adição delas nos sistemas.
É para esse objetivo que surge o NuGet. Ele é uma ferramenta de gerenciamento de bibliotecas criadas por terceiros, integrada ao Visual Studio 2010 e que faz uso do PowerShell cujo objetivo é facilitar a vida do desenvolvedor, permitindo que ele busque e obtenha componentes que serão utilizados na sua aplicação a partir de uma interface única, os locais para buscas podem ser tanto um feed ATOM quanto um diretório (local ou na rede) contendo os arquivos que representam os componentes.
Atom é o formato para arquivos XML que são utilizados para publicação e edição periódica de informações na web, os chamados feeds. Um exemplo desse formato pode ser visto a seguir:
<?xml version="1.0" encoding="utf—8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Minha Página — News Feed</title> <link href=http://www.minhapagina.com.br/> <updated>2010—12—03 3:05:47</updated> <author> <name>DevMedia</name> <email>email@devmedia.com.br</email> <uri>http://www.minhapagina.com.br</uri> </author> <id>http://www.minhapagina.com.br</id> <icon>http://www.minhapagina.com.br/img/imagem.ico</icon> <logo>http://www.minhapagina.com.br/img/logotipo.jpg</logo> <rights> © 2010—2010 DevMedia/WWW.devmedia.com.br</rights> <subtitle>Acompanhe nossas novidades</subtitle> <category term=Informática/> </feed>
Este é um projeto open-source lançado pela Microsoft e mantido por desenvolvedores de outra ferramenta de gerenciamento de pacotes chamada Nu (podemos dizer que ele foi o projeto que deu origem ao NuGet). O interessante deste caso é que se trata de uma iniciativa de projeto com código-fonte aberto patrocinado pela Microsoft onde contribuições da comunidade são bem-vindas, diferente de outros projetos onde os fontes são acessíveis para qualquer desenvolvedor, mas o envio da sua contribuição é mais complexo (ou em alguns casos, inexistente).
PowerShell é uma ferramenta de linha de comando utilizada para administrar sistemas e máquinas (local ou remotamente). Ela possui comandos, chamados cmdlets, que podem ser utilizados para as mais diversas tarefas. Por exemplo, pode-se utilizá-lo para controlar Windows Services. Para iniciar um Windows Service basta utilizar o cmdlet Start-Service, como exemplo, onde o serviço de armazenamento de sessão do ASP.NET é iniciado:
...