Conhecendo o NuGet e utilizando com ASP.NET MVC
-
Upload
fabricio-lopes-sanchez -
Category
Technology
-
view
5.346 -
download
4
description
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
Links
• NuGet: http://nuget.codeplex.com/
• Documentação oficial: http://nuget.codeplex.com/documentation?referringTitle=Home
• Como contribuir com NuGet: http://nuget.codeplex.com/documentation?title=Contributing%20to%20NuPack
• Conceitos sobre PowerShell: http://elemarjr.net/category/powershell/
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