O NuGet é uma extensão do Visual Studio que torna super fácil a instalação e atualização de bibliotecas e ferramentas de terceiros no Visual Studio.

Quando você usa o NuGet para instalar um pacote (package), ele copia os arquivos da biblioteca escolhida para a sua Solution e automaticamente atualiza o projeto (adiciona referências, altera arquivos de configuração e etc). Se você remover o pacote, o NuGet desfaz todas as alterações e garante que não fique nenhum resíduo para trás. 

Ou seja, se, por exemplo, você quer utilizar jQuery no seu projeto, invés de você entrar no site do jQuery, baixar os Javascripts e adicionar no seu projeto, você pode usar o NuGet para baixar e "instalar" o jQuery no seu projeto e atualizá-lo com poucos cliques.

Da mesma forma, invés de você entrar no CodePlex e baixar os binários do Entity Framework e adicionar as referências no seu projeto, basta você instalar o pacote do Entity Framework pelo NuGet. É muito mais simples e sem chances de esquecer de referenciar algum assembly ou cometer outros erros.

 

E quais pacotes existem no NuGet? 

Na data deste post, existem 11.581 pacotes únicos, que já foram baixados mais 57 milhões de vezes! 

Dentre os pacotes mais populares estão:

-jQuery: Biblioteca Javascript para acelerar o desenvolvimento de aplicações HTML com animações e Ajax.
-EntityFramework 5: Framework de mapeamento objeto/relacional. A tecnologia de acesso a dados recomendada pela Microsoft.
-jQuery Validation: Plugin do jQuery para criar validações de formulários.
-Json.NET: Framework para serialização e deserialização de objetos no formato JSON.
-Microsoft.Web.Infrastructure: Permite registrar HTTP Modules dinamicamente no ASP.NET.
-jQuery UI: Biblioteca de componentes visuais baseadas no jQuery.
-Modernizr: Biblioteca Javascript para fazer aplicações HTML cross-browser.
-Microsoft ASP.NET Razor 2: Sintaxe Razor para criar páginas no ASP.NET.
-ELMAH: Framework de log e tratamento de erros.
-Ninject 3: Framework de injeção de dependência.

e vários outros. 

 

Como buscar e instalar um pacote pelo NuGet?

É super fácil. A partir das versões 2012 do Visual Studio o NuGet já vem instalado como extensão.

Então basta clicar com o botão direito no seu projeto (ou na pasta References do projeto) e escolher "Manage NuGet Packages..."

Em "Installed Packages" você lista todos os pacotes instalados no projeto e pode removê-los.

Em "Online" você busca e instala pacotes no seu projeto.

Em "Updates" você atualiza os pacotes já instalados.

Veja algumas telas da minha instalação do pacote "jQuery" em um projeto:

 

 

 

 

E como falei antes, o NuGet baixa os assemblies necessários na sua Solution (fica dentro da pasta "Packages"), adiciona as referências e faz toda a configuração necessária. Inclusive ele baixa dependências à outros pacotes também.

O arquivo "packages.config" é um XML que guarda quais pacotes e versões estão instaladas no seu projeto.

E outra coisa interessante, o NuGet baixa os assemblies adequados ao framework que você utiliza (ex: Silverlight, .NET 4.5, WinRT, Windows Phone 8 e etc).

Resumindo: Use o NuGet e não perca mais tempo se preocupando e arrumando as referências do seu projeto!

 

Ah, e se eu quiser publicar a minha biblioteca no NuGet, eu posso?
Sim, claro. Vou abordar isso em outro post (mais em http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package).

 

Vitor Ciaramella
Microsoft Technical Evangelist 

PS: Se você também tiver interesse sobre Gestão de Projetos, Game Design, Windows 8, Windows Phone e Windows Azure, acompanhe meu blog em http://vic.ms e me siga no Twitter @vitorcia.