Criando uma aplicação ASP.NET MVC com auxílio do NuGetFabrício Sanchez |MVC Summit 2011
Introdução / MotivaçãoNuGetO que é e para que serve?InstalaçãoUtilizando no Visual Studio 2010Gerenciando via PowerShellCriando e utilizando pacotesDemonstraçãoAgenda
IntroduçãoNuGet surgiu com que objetivo?
Introdução / MotivaçãoReutilização de código é uma característica desejávelExiste uma grande quantidade de componentes e bibliotecas .NETGerenciar tais componentes, bibliotecas e suas dependências é complexoSurgiu a necessidade de uma ferramenta que automatizasse tal gerenciamento
NuGetO que é? Para que serve?
NuGet - 1Cenário: utilização do NHibernate no projeto ‘X’Passo 1: Procurar pela versão mais recente na internet (dependências inclusive)Passo 2: Adicionar referências manualmente ao projetoPasso 3: Constatar eventuais problemas e corrigí-losLENTIDÃO - RETRABALHO
NuGet - 2NuGet é um gerenciador de pacotes/bibliotecasIntegrado ao Visual Studio 2010 através de uma extensionIntegrado com PowerShellProjeto Open-Source lançado pela MicrosoftMantido por desenvolvedores da comunidade, principalmente do projeto Nubular (Nu)
NuGet - 3Locais de busca: Feed ATOM, repositório local ou redeÉ possível integrar recursos do PowerShell com comandos NuGetPode ser utilizado com qualquer tipo de projeto dentro da plataforma .NETPré-requisito para utilização do NuGet com PowerShell: versão 2.0 instalada
NuGetO processo de instalação...
NuGet – Instalação 1Download na página do projeto no CodeplexÉ 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 2http://nuget.codeplex.com/releases
NuGetUtilizando com Visual Studio 2010
NuGet – Utilizando 1Add Library Package Reference (Adicionar pacotes)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)
NuGet – Utilizando 2Add Library Package Reference
NuGet – Utilizando 3Add Library Package Reference > Settings
NuGet – Utilizando 4View > Other windows > Package Manager ConsoleGerenciamento via PowerShell
Demo1NuGet e o Visual Studio 2010
PowerShellBásico sobre a ferramenta
PowerShell 1Ferramenta para gestão de recursos via shellRica coleção de verbosPipeline baseado em objetosVoltado para construção de scriptsImplementa o conceito de CmdletsCmdlets facilitam o aprendizado do vocabulário
PowerShell 2PowerShell em execuçãoObtendo informações sobre o processo da calculadora
NuGetNuGet, PowerShell e o Visual Studio 2010
NuGet -  Comandos 1Get-PackageLista pacotes definidos para determinado sourceParâmetros para o comandoSource:  repositório de pacotes (ATOM, local ou rede)Updates: pacotes com atualizações disponíveisRemote: lista pacotes em um feed específicoFilter: refina a busca com base no critério especificado
NuGet -  Comandos 2Get-PackageAlguns exemplosGet-Package Get-Package  –RemoteGet-Package  –Source  ‘path’Get-Package –Updates
NuGet -  Comandos 3Install-PackageAdiciona um pacote e suas dependências ao projetoParâmetros para o comandoId: pacote a ser instalado (obrigatório)IgnoreDependencies: ignora dependências do pacoteProject: Informa o projeto que receberá o pacoteSource: repositório onde o pacote será buscadoVersion: verifica a versão do pacote a ser instalado
NuGet -  Comandos 4Install-PackageAlguns exemplosInstall-Package  –Id jQuery Install-Package  ‘pacote’ –Source ‘path’Install-Package ‘pacote’  –Source  ‘path’  -Version ‘versão’
NuGet -  Comandos 5Update-PackageAtualiza um pacote e suas dependênciasParâmetros para o comandoId: pacote a ser atualizado (obrigatório)UpdateDependencies: atualiza dependências do pacoteProject: Informa o projeto que receberá o pacoteSource: repositório onde o pacote será buscadoVersion: especifica a versão do pacote a qual será atualizada
NuGet -  Comandos 6Update-PackageAlguns exemplosUpdate-Package  Facebook.HelperUpdate-Package  Facebook.Helper –Version 1.0
NuGet -  Comandos 8Uninstall-PackageRemove um pacote e suas dependências do projetoParâmetros para o comandoId: pacote a ser removido (obrigatório)RemoveDependencies: remove dependências do pacoteForce: força a remoção, mesmo que outros dele dependamSource: repositório onde o pacote será buscadoProject: define o projeto do qual será removido o pacote
NuGet -  Comandos 9Uninstall-PackageAlguns exemplosUninstall-Package  -Id elmahUninstall-Package  GuEditor -RemoveDependencies
Algumas possibilidades do NuGetcom Package Manager ConsoleDemo2
NuGetCriando e distribuindo seu pacote
NuGet - Criando pacote 1RegrasCriar um arquivo com as extensão ‘nuspec’ e conteúdo XMLEstruturar diretórios do pacoteBaixar a ferramenta ‘nuget.exe’Encapsular os arquivos e diretórios do pacote via linha de comando (MS-DOS)
NuGet - Criando pacote 21. Arquivo de manifesto<?xmlversion="1.0" encoding="utf-8"?><packagexmlns="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>
NuGet - Criando pacote 32. Estrutura de diretóriosContém o Helper, o CSHTML e a imagem de backgroundArquivo de manifesto do pacote (será lido pelo NuGet)Receberá o pacote no final gerado pelo NuGet.exe
NuGet - Criando pacote 43. Baixar NuGet.exehttp://nuget.codeplex.com/releases/57303/download/197743Ferramenta para geração de pacote: NuGet.exe
NuGet - Criando pacote 54. Gerar pacote NuGet
Adicionando repositório e utilizando na aplicaçãoASP.NET MVC
ASP.NET MVC - PráticaAdicionando repositório e utilizando o helperEtapas:Criar uma aplicação ASP.NET MVC 3 com RazorAdicionar um repositório localInstalar o Helper criado anteriormente ‘HelperEventos2011’Utilizar o helper na aplicação
Demo3NuGet, VS 2010 e ASP.NET MVC na Prática
ConclusõesNuGet é uma ótima alternativa para gerenciar dependênciasPowerShell é uma excelente opção para manipular o NuGetReaproveitar código é sempre uma excelente alternativa
LinksNuGet: http://nuget.codeplex.com/Documentação oficial: http://nuget.codeplex.com/documentation?referringTitle=HomeComo contribuir com NuGet: http://nuget.codeplex.com/documentation?title=Contributing%20to%20NuPackConceitos sobre PowerShell: http://elemarjr.net/category/powershell/
Informações de contatoBlog:http://fabriciosanchez.com.br/Twitter:http://twitter.com/SanchezFabricioFacebook:http://facebook.com/fabriciolopessanchezLinkedin:http://www.linkedin.com/in/fabriciosanchez
Obrigado a todos

Conhecendo o NuGet e utilizando com ASP.NET MVC

  • 1.
    Criando uma aplicaçãoASP.NET MVC com auxílio do NuGetFabrício Sanchez |MVC Summit 2011
  • 2.
    Introdução / MotivaçãoNuGetOque é e para que serve?InstalaçãoUtilizando no Visual Studio 2010Gerenciando via PowerShellCriando e utilizando pacotesDemonstraçãoAgenda
  • 3.
  • 4.
    Introdução / MotivaçãoReutilizaçãode código é uma característica desejávelExiste uma grande quantidade de componentes e bibliotecas .NETGerenciar tais componentes, bibliotecas e suas dependências é complexoSurgiu a necessidade de uma ferramenta que automatizasse tal gerenciamento
  • 5.
    NuGetO que é?Para que serve?
  • 6.
    NuGet - 1Cenário:utilização do NHibernate no projeto ‘X’Passo 1: Procurar pela versão mais recente na internet (dependências inclusive)Passo 2: Adicionar referências manualmente ao projetoPasso 3: Constatar eventuais problemas e corrigí-losLENTIDÃO - RETRABALHO
  • 7.
    NuGet - 2NuGeté um gerenciador de pacotes/bibliotecasIntegrado ao Visual Studio 2010 através de uma extensionIntegrado com PowerShellProjeto Open-Source lançado pela MicrosoftMantido por desenvolvedores da comunidade, principalmente do projeto Nubular (Nu)
  • 8.
    NuGet - 3Locaisde busca: Feed ATOM, repositório local ou redeÉ possível integrar recursos do PowerShell com comandos NuGetPode ser utilizado com qualquer tipo de projeto dentro da plataforma .NETPré-requisito para utilização do NuGet com PowerShell: versão 2.0 instalada
  • 9.
    NuGetO processo deinstalação...
  • 10.
    NuGet – Instalação1Download na página do projeto no CodeplexÉ 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
  • 11.
    NuGet – Instalação2http://nuget.codeplex.com/releases
  • 12.
  • 13.
    NuGet – Utilizando1Add Library Package Reference (Adicionar pacotes)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)
  • 14.
    NuGet – Utilizando2Add Library Package Reference
  • 15.
    NuGet – Utilizando3Add Library Package Reference > Settings
  • 16.
    NuGet – Utilizando4View > Other windows > Package Manager ConsoleGerenciamento via PowerShell
  • 17.
    Demo1NuGet e oVisual Studio 2010
  • 18.
  • 19.
    PowerShell 1Ferramenta paragestão de recursos via shellRica coleção de verbosPipeline baseado em objetosVoltado para construção de scriptsImplementa o conceito de CmdletsCmdlets facilitam o aprendizado do vocabulário
  • 20.
    PowerShell 2PowerShell emexecuçãoObtendo informações sobre o processo da calculadora
  • 21.
    NuGetNuGet, PowerShell eo Visual Studio 2010
  • 22.
    NuGet - Comandos 1Get-PackageLista pacotes definidos para determinado sourceParâmetros para o comandoSource: repositório de pacotes (ATOM, local ou rede)Updates: pacotes com atualizações disponíveisRemote: lista pacotes em um feed específicoFilter: refina a busca com base no critério especificado
  • 23.
    NuGet - Comandos 2Get-PackageAlguns exemplosGet-Package Get-Package –RemoteGet-Package –Source ‘path’Get-Package –Updates
  • 24.
    NuGet - Comandos 3Install-PackageAdiciona um pacote e suas dependências ao projetoParâmetros para o comandoId: pacote a ser instalado (obrigatório)IgnoreDependencies: ignora dependências do pacoteProject: Informa o projeto que receberá o pacoteSource: repositório onde o pacote será buscadoVersion: verifica a versão do pacote a ser instalado
  • 25.
    NuGet - Comandos 4Install-PackageAlguns exemplosInstall-Package –Id jQuery Install-Package ‘pacote’ –Source ‘path’Install-Package ‘pacote’ –Source ‘path’ -Version ‘versão’
  • 26.
    NuGet - Comandos 5Update-PackageAtualiza um pacote e suas dependênciasParâmetros para o comandoId: pacote a ser atualizado (obrigatório)UpdateDependencies: atualiza dependências do pacoteProject: Informa o projeto que receberá o pacoteSource: repositório onde o pacote será buscadoVersion: especifica a versão do pacote a qual será atualizada
  • 27.
    NuGet - Comandos 6Update-PackageAlguns exemplosUpdate-Package Facebook.HelperUpdate-Package Facebook.Helper –Version 1.0
  • 28.
    NuGet - Comandos 8Uninstall-PackageRemove um pacote e suas dependências do projetoParâmetros para o comandoId: pacote a ser removido (obrigatório)RemoveDependencies: remove dependências do pacoteForce: força a remoção, mesmo que outros dele dependamSource: repositório onde o pacote será buscadoProject: define o projeto do qual será removido o pacote
  • 29.
    NuGet - Comandos 9Uninstall-PackageAlguns exemplosUninstall-Package -Id elmahUninstall-Package GuEditor -RemoveDependencies
  • 30.
    Algumas possibilidades doNuGetcom Package Manager ConsoleDemo2
  • 31.
  • 32.
    NuGet - Criandopacote 1RegrasCriar um arquivo com as extensão ‘nuspec’ e conteúdo XMLEstruturar diretórios do pacoteBaixar a ferramenta ‘nuget.exe’Encapsular os arquivos e diretórios do pacote via linha de comando (MS-DOS)
  • 33.
    NuGet - Criandopacote 21. Arquivo de manifesto<?xmlversion="1.0" encoding="utf-8"?><packagexmlns="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>
  • 34.
    NuGet - Criandopacote 32. Estrutura de diretóriosContém o Helper, o CSHTML e a imagem de backgroundArquivo de manifesto do pacote (será lido pelo NuGet)Receberá o pacote no final gerado pelo NuGet.exe
  • 35.
    NuGet - Criandopacote 43. Baixar NuGet.exehttp://nuget.codeplex.com/releases/57303/download/197743Ferramenta para geração de pacote: NuGet.exe
  • 36.
    NuGet - Criandopacote 54. Gerar pacote NuGet
  • 37.
    Adicionando repositório eutilizando na aplicaçãoASP.NET MVC
  • 38.
    ASP.NET MVC -PráticaAdicionando repositório e utilizando o helperEtapas:Criar uma aplicação ASP.NET MVC 3 com RazorAdicionar um repositório localInstalar o Helper criado anteriormente ‘HelperEventos2011’Utilizar o helper na aplicação
  • 39.
    Demo3NuGet, VS 2010e ASP.NET MVC na Prática
  • 40.
    ConclusõesNuGet é umaótima alternativa para gerenciar dependênciasPowerShell é uma excelente opção para manipular o NuGetReaproveitar código é sempre uma excelente alternativa
  • 41.
    LinksNuGet: http://nuget.codeplex.com/Documentação oficial:http://nuget.codeplex.com/documentation?referringTitle=HomeComo contribuir com NuGet: http://nuget.codeplex.com/documentation?title=Contributing%20to%20NuPackConceitos sobre PowerShell: http://elemarjr.net/category/powershell/
  • 42.
  • 43.