SlideShare una empresa de Scribd logo
1 de 43
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ção NuGet surgiu com que objetivo?
Introdução / Motivação Reutilização de código é uma característica desejável 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
NuGet O que é? Para que serve?
NuGet - 1 Cená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 projeto Passo 3: Constatar eventuais problemas e corrigí-los LENTIDÃO - RETRABALHO
NuGet - 2 NuGet é um gerenciador de pacotes/bibliotecas 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)
NuGet - 3 Locais de busca: Feed ATOM, repositório local ou rede É 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
NuGet O processo de instalação...
NuGet – Instalação 1 Download 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 2 http://nuget.codeplex.com/releases
NuGet Utilizando com Visual Studio 2010
NuGet – Utilizando 1 Add 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 2 Add Library Package Reference
NuGet – Utilizando 3 Add Library Package Reference > Settings
NuGet – Utilizando 4 View > Other windows > Package Manager Console Gerenciamento via PowerShell
Demo1 NuGet e o Visual Studio 2010
PowerShell Básico sobre a ferramenta
PowerShell 1 Ferramenta para gestão de recursos via shell 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 2 PowerShell em execução Obtendo informações sobre o processo da calculadora
NuGet NuGet, PowerShell e o Visual Studio 2010
NuGet -  Comandos 1 Get-Package 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
NuGet -  Comandos 2 Get-Package Alguns exemplos Get-Package  Get-Package  –Remote Get-Package  –Source  ‘path’ Get-Package –Updates
NuGet -  Comandos 3 Install-Package 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
NuGet -  Comandos 4 Install-Package Alguns exemplos Install-Package  –Id jQuery  Install-Package  ‘pacote’ –Source ‘path’ Install-Package ‘pacote’  –Source  ‘path’  -Version ‘versão’
NuGet -  Comandos 5 Update-Package 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
NuGet -  Comandos 6 Update-Package Alguns exemplos Update-Package  Facebook.Helper Update-Package  Facebook.Helper –Version 1.0
NuGet -  Comandos 8 Uninstall-Package 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
NuGet -  Comandos 9 Uninstall-Package Alguns exemplos Uninstall-Package  -Id elmah Uninstall-Package  GuEditor -RemoveDependencies
Algumas possibilidades do NuGetcom Package Manager Console Demo2
NuGet Criando e distribuindo seu pacote
NuGet - Criando pacote 1 Regras Criar um arquivo com as extensão ‘nuspec’ e conteúdo XML Estruturar diretórios do pacote Baixar a ferramenta ‘nuget.exe’ Encapsular os arquivos e diretórios do pacote via linha de comando (MS-DOS)
NuGet - Criando pacote 2 1. 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="Contentpp_Code" />   	<file src="Content.css" target="Contentpp_Code" />   	<file src="Content.png" target="Contentpp_Code" />   </files> </package>
NuGet - Criando pacote 3 2. Estrutura de diretórios 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
NuGet - Criando pacote 4 3. Baixar NuGet.exe http://nuget.codeplex.com/releases/57303/download/197743 Ferramenta para geração de pacote: NuGet.exe
NuGet - Criando pacote 5 4. Gerar pacote NuGet
Adicionando repositório e utilizando na aplicação ASP.NET MVC
ASP.NET MVC - Prática Adicionando repositório e utilizando o helper 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
Demo3 NuGet, 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

Más contenido relacionado

La actualidad más candente

TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7tdc-globalcode
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação mavenAndré Justi
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoiMasters
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018Renato Groff
 
TDC2016POA | Trilha .NET - Trazendo o poder dos containers ao mundo .NET
TDC2016POA | Trilha .NET -  Trazendo o poder dos containers ao mundo .NETTDC2016POA | Trilha .NET -  Trazendo o poder dos containers ao mundo .NET
TDC2016POA | Trilha .NET - Trazendo o poder dos containers ao mundo .NETtdc-globalcode
 
.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017Renato Groff
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
Android Studio: Primeiros Passos
Android Studio: Primeiros PassosAndroid Studio: Primeiros Passos
Android Studio: Primeiros PassosRomualdo Andre
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosEduardo Legatti
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkFlávio Lisboa
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017Renato Groff
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 

La actualidad más candente (20)

TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
My first app django
My first app djangoMy first app django
My first app django
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
 
TDC2016POA | Trilha .NET - Trazendo o poder dos containers ao mundo .NET
TDC2016POA | Trilha .NET -  Trazendo o poder dos containers ao mundo .NETTDC2016POA | Trilha .NET -  Trazendo o poder dos containers ao mundo .NET
TDC2016POA | Trilha .NET - Trazendo o poder dos containers ao mundo .NET
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Android Studio: Primeiros Passos
Android Studio: Primeiros PassosAndroid Studio: Primeiros Passos
Android Studio: Primeiros Passos
 
Cutelyst br-qtcon
Cutelyst br-qtconCutelyst br-qtcon
Cutelyst br-qtcon
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
 
Rqt1
Rqt1Rqt1
Rqt1
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
 
Django
DjangoDjango
Django
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 

Similar a Conhecendo o NuGet e utilizando com ASP.NET MVC

ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bowertdc-globalcode
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloRenato Groff
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1tdc-globalcode
 
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade....NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...Renato Groff
 
NuGet no ecossistema empresarial
NuGet no ecossistema empresarialNuGet no ecossistema empresarial
NuGet no ecossistema empresarialNuno Gomes
 
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al....NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...Renato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...Renato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...Renato Groff
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Embarcados
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)Renato Groff
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Eliel Simoncelo
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 

Similar a Conhecendo o NuGet e utilizando com ASP.NET MVC (20)

ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
 
GWT
GWTGWT
GWT
 
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade....NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
 
NuGet no ecossistema empresarial
NuGet no ecossistema empresarialNuGet no ecossistema empresarial
NuGet no ecossistema empresarial
 
tutorial nagios
tutorial nagiostutorial nagios
tutorial nagios
 
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al....NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
NuGet no Contexto Empresarial
NuGet no Contexto EmpresarialNuGet no Contexto Empresarial
NuGet no Contexto Empresarial
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 

Más de Fabrício Lopes Sanchez

QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Fabrício Lopes Sanchez
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Fabrício Lopes Sanchez
 
Windows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceWindows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceFabrício Lopes Sanchez
 
Desenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureDesenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureFabrício Lopes Sanchez
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Fabrício Lopes Sanchez
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Interop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixInterop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixFabrício Lopes Sanchez
 
QS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixQS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixFabrício Lopes Sanchez
 

Más de Fabrício Lopes Sanchez (20)

Azure Lab Services
Azure Lab ServicesAzure Lab Services
Azure Lab Services
 
Projetando aplicações para a nuvem
Projetando aplicações para a nuvemProjetando aplicações para a nuvem
Projetando aplicações para a nuvem
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Soluções de IoT no Microsoft Azure
Soluções de IoT no Microsoft AzureSoluções de IoT no Microsoft Azure
Soluções de IoT no Microsoft Azure
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos?
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
 
A Nova Web
A Nova WebA Nova Web
A Nova Web
 
Windows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceWindows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-service
 
SSI 2012 - Computação em Nuvem
SSI 2012 - Computação em NuvemSSI 2012 - Computação em Nuvem
SSI 2012 - Computação em Nuvem
 
Desenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureDesenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows Azure
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Interop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixInterop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrix
 
QS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixQS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrix
 

Último

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Último (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Conhecendo o NuGet e utilizando com ASP.NET MVC

  • 1. Criando uma aplicação ASP.NET MVC com auxílio do NuGet Fabrício Sanchez |MVC Summit 2011
  • 2. 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
  • 3. Introdução NuGet surgiu com que objetivo?
  • 4. Introdução / Motivação Reutilização de código é uma característica desejável 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
  • 5. NuGet O que é? Para que serve?
  • 6. NuGet - 1 Cená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 projeto Passo 3: Constatar eventuais problemas e corrigí-los LENTIDÃO - RETRABALHO
  • 7. NuGet - 2 NuGet é um gerenciador de pacotes/bibliotecas 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)
  • 8. NuGet - 3 Locais de busca: Feed ATOM, repositório local ou rede É 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
  • 9. NuGet O processo de instalação...
  • 10. NuGet – Instalação 1 Download 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ção 2 http://nuget.codeplex.com/releases
  • 12. NuGet Utilizando com Visual Studio 2010
  • 13. NuGet – Utilizando 1 Add 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 – Utilizando 2 Add Library Package Reference
  • 15. NuGet – Utilizando 3 Add Library Package Reference > Settings
  • 16. NuGet – Utilizando 4 View > Other windows > Package Manager Console Gerenciamento via PowerShell
  • 17. Demo1 NuGet e o Visual Studio 2010
  • 18. PowerShell Básico sobre a ferramenta
  • 19. PowerShell 1 Ferramenta para gestão de recursos via shell 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
  • 20. PowerShell 2 PowerShell em execução Obtendo informações sobre o processo da calculadora
  • 21. NuGet NuGet, PowerShell e o Visual Studio 2010
  • 22. NuGet - Comandos 1 Get-Package 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
  • 23. NuGet - Comandos 2 Get-Package Alguns exemplos Get-Package Get-Package –Remote Get-Package –Source ‘path’ Get-Package –Updates
  • 24. NuGet - Comandos 3 Install-Package 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
  • 25. NuGet - Comandos 4 Install-Package Alguns exemplos Install-Package –Id jQuery Install-Package ‘pacote’ –Source ‘path’ Install-Package ‘pacote’ –Source ‘path’ -Version ‘versão’
  • 26. NuGet - Comandos 5 Update-Package 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
  • 27. NuGet - Comandos 6 Update-Package Alguns exemplos Update-Package Facebook.Helper Update-Package Facebook.Helper –Version 1.0
  • 28. NuGet - Comandos 8 Uninstall-Package 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
  • 29. NuGet - Comandos 9 Uninstall-Package Alguns exemplos Uninstall-Package -Id elmah Uninstall-Package GuEditor -RemoveDependencies
  • 30. Algumas possibilidades do NuGetcom Package Manager Console Demo2
  • 31. NuGet Criando e distribuindo seu pacote
  • 32. NuGet - Criando pacote 1 Regras Criar um arquivo com as extensão ‘nuspec’ e conteúdo XML Estruturar diretórios do pacote Baixar a ferramenta ‘nuget.exe’ Encapsular os arquivos e diretórios do pacote via linha de comando (MS-DOS)
  • 33. NuGet - Criando pacote 2 1. 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="Contentpp_Code" /> <file src="Content.css" target="Contentpp_Code" /> <file src="Content.png" target="Contentpp_Code" /> </files> </package>
  • 34. NuGet - Criando pacote 3 2. Estrutura de diretórios 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
  • 35. NuGet - Criando pacote 4 3. Baixar NuGet.exe http://nuget.codeplex.com/releases/57303/download/197743 Ferramenta para geração de pacote: NuGet.exe
  • 36. NuGet - Criando pacote 5 4. Gerar pacote NuGet
  • 37. Adicionando repositório e utilizando na aplicação ASP.NET MVC
  • 38. ASP.NET MVC - Prática Adicionando repositório e utilizando o helper 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
  • 39. Demo3 NuGet, VS 2010 e ASP.NET MVC na Prática
  • 40. 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
  • 41. 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/
  • 42. 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