Conhecendo o NuGet e utilizando com ASP.NET MVC

Post on 13-Jan-2015

5.346 views 4 download

description

Nesta apresentação demonstro os conceitos relacionados ao NuGet e como podemos utilizá-lo numa aplicação ASP.NET MVC.

Transcript of Conhecendo o NuGet e utilizando com ASP.NET MVC

Criando uma aplicação ASP.NET MVC com auxílio do NuGet

Fabrício Sanchez | MVC Summit 2011

• Introdução / Motivação• NuGet– O que é e para que serve?– Instalação– Utilizando no Visual Studio 2010– Gerenciando via PowerShell– Criando e utilizando pacotes

• Demonstração

Agenda

IntroduçãoNuGet surgiu com que objetivo?

• Reutilização de código é uma característica desejável

Introdução / Motivação

• Existe uma grande quantidade de componentes e bibliotecas .NET

• Gerenciar tais componentes, bibliotecas e suas dependências é complexo

• Surgiu a necessidade de uma ferramenta que automatizasse tal gerenciamento

NuGetO que é? Para que serve?

• Cenário: utilização do NHibernate no projeto ‘X’

NuGet - 1

• Passo 1: Procurar pela versão mais recente na internet (dependências inclusive)

• Passo 2: Adicionar referências manualmente ao projeto

• Passo 3: Constatar eventuais problemas e corrigí-los

LENTIDÃO - RETRABALHO

• NuGet é um gerenciador de pacotes/bibliotecas

NuGet - 2

• Integrado ao Visual Studio 2010 através de uma extension

• Integrado com PowerShell

• Projeto Open-Source lançado pela Microsoft

• Mantido por desenvolvedores da comunidade, principalmente do projeto Nubular (Nu)

• Locais de busca: Feed ATOM, repositório local ou rede

NuGet - 3

• É possível integrar recursos do PowerShell com comandos NuGet

• Pode ser utilizado com qualquer tipo de projeto dentro da plataforma .NET

• Pré-requisito para utilização do NuGet com PowerShell: versão 2.0 instalada

NuGetO processo de instalação...

• Download na página do projeto no Codeplex

NuGet – Instalação 1

• É disponibilizado através de uma extensão do Visual Studio 2010 (vsix)

• Funciona para todas as versões do Visual Studio 2010, inclusive as livres

NuGet – Instalação 2

http://nuget.codeplex.com/releases

NuGetUtilizando com Visual Studio 2010

• Add Library Package Reference (Adicionar pacotes)

NuGet – Utilizando 1

• Add Library Package Reference > Settings (Configuração do NuGet)

• Tools > Library Package Manager > Package Manager Settings (Configuração do NuGet)

• View > Other windows > Package Manager Console (Interface PowerShell)

• Add Library Package Reference

NuGet – Utilizando 2

• Add Library Package Reference > Settings

NuGet – Utilizando 3

• View > Other windows > Package Manager Console

NuGet – Utilizando 4

Gerenciamento via PowerShell

Demo1NuGet e o Visual Studio 2010

PowerShellBásico sobre a ferramenta

• Ferramenta para gestão de recursos via shell

PowerShell 1

• Rica coleção de verbos

• Pipeline baseado em objetos

• Voltado para construção de scripts

• Implementa o conceito de Cmdlets

• Cmdlets facilitam o aprendizado do vocabulário

PowerShell em execução

PowerShell 2

Obtendo informações sobre o

processo da calculadora

NuGetNuGet, PowerShell e o Visual Studio 2010

Get-Package

NuGet - Comandos 1

• Lista pacotes definidos para determinado source

• Parâmetros para o comando– Source: repositório de pacotes (ATOM, local ou rede)– Updates: pacotes com atualizações disponíveis– Remote: lista pacotes em um feed específico– Filter: refina a busca com base no critério especificado

Get-Package

NuGet - Comandos 2

• Alguns exemplos

• Get-Package • Get-Package –Remote• Get-Package –Source ‘path’• Get-Package –Updates

Install-Package

NuGet - Comandos 3

• Adiciona um pacote e suas dependências ao projeto

• Parâmetros para o comando– Id: pacote a ser instalado (obrigatório)– IgnoreDependencies: ignora dependências do pacote– Project: Informa o projeto que receberá o pacote– Source: repositório onde o pacote será buscado– Version: verifica a versão do pacote a ser instalado

Install-Package

NuGet - Comandos 4

• Alguns exemplos

• Install-Package –Id jQuery • Install-Package ‘pacote’ –Source ‘path’• Install-Package ‘pacote’ –Source ‘path’ -Version ‘versão’

Update-Package

NuGet - Comandos 5

• Atualiza um pacote e suas dependências

• Parâmetros para o comando– Id: pacote a ser atualizado (obrigatório)– UpdateDependencies: atualiza dependências do pacote– Project: Informa o projeto que receberá o pacote– Source: repositório onde o pacote será buscado– Version: especifica a versão do pacote a qual será

atualizada

Update-Package

NuGet - Comandos 6

• Alguns exemplos

• Update-Package Facebook.Helper• Update-Package Facebook.Helper –Version 1.0

Uninstall-Package

NuGet - Comandos 8

• Remove um pacote e suas dependências do projeto

• Parâmetros para o comando– Id: pacote a ser removido (obrigatório)– RemoveDependencies: remove dependências do pacote– Force: força a remoção, mesmo que outros dele

dependam– Source: repositório onde o pacote será buscado– Project: define o projeto do qual será removido o pacote

Uninstall-Package

NuGet - Comandos 9

• Alguns exemplos

• Uninstall-Package -Id elmah• Uninstall-Package GuEditor -RemoveDependencies

Demo2

Algumas possibilidades do NuGetcom Package Manager Console

NuGetCriando e distribuindo seu pacote

Regras

NuGet - Criando pacote 1

1. Criar um arquivo com as extensão ‘nuspec’ e conteúdo XML

2. Estruturar diretórios do pacote3. Baixar a ferramenta ‘nuget.exe’4. Encapsular os arquivos e diretórios do pacote via

linha de comando (MS-DOS)

1. Arquivo de manifesto

NuGet - Criando pacote 2

<?xml version="1.0" encoding="utf-8"?><package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata>

<id>Helper.Eventos.2011</id> <version>1.0.0</version> <authors>Fabricio Sanchez</authors> <description>Este helper adiciona a seu site, uma barra com os links dos sites dos principais eventos de 2011.</description> <language>pt-BR</language> </metadata> <files> <file src="Content\*.cshtml" target="Content\App_Code" /> <file src="Content\*.css" target="Content\App_Code" /> <file src="Content\*.png" target="Content\App_Code" /> </files></package>

2. Estrutura de diretórios

NuGet - Criando pacote 3

Contém o Helper, o CSHTML e a imagem de background

Arquivo de manifesto do

pacote (será lido pelo NuGet)

Receberá o pacote no final gerado pelo NuGet.exe

3. Baixar NuGet.exe

NuGet - Criando pacote 4

Ferramenta para geração de pacote: NuGet.exe

http://nuget.codeplex.com/releases/57303/download/197743

4. Gerar pacote NuGet

NuGet - Criando pacote 5

ASP.NET MVCAdicionando repositório e utilizando na aplicação

Adicionando repositório e utilizando o helper

ASP.NET MVC - Prática

• Etapas:

• Criar uma aplicação ASP.NET MVC 3 com Razor• Adicionar um repositório local• Instalar o Helper criado anteriormente

‘HelperEventos2011’• Utilizar o helper na aplicação

Demo3NuGet, VS 2010 e ASP.NET MVC na Prática

Conclusões

• NuGet é uma ótima alternativa para gerenciar dependências

• PowerShell é uma excelente opção para manipular o NuGet

• Reaproveitar código é sempre uma excelente alternativa

Informações de contato

• Blog:http://fabriciosanchez.com.br/

• Twitter:http://twitter.com/SanchezFabricio

• Facebook:http://facebook.com/fabriciolopessanchez

• Linkedin:http://www.linkedin.com/in/fabriciosanchez

Obrigado a todos