SlideShare uma empresa Scribd logo
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
Anúncio

Mais conteúdo relacionado

Mais procurados (20)

Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
André Justi
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
iMasters
 
My first app django
My first app djangoMy first app django
My first app django
Paola Katherine Pacheco
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
André Justi
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
Jose Augusto Carvalho
 
.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
Renato 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 .NET
tdc-globalcode
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
Rodrigo Branas
 
.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
Renato 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 errar
Bruno Calheira
 
Android Studio: Primeiros Passos
Android Studio: Primeiros PassosAndroid Studio: Primeiros Passos
Android Studio: Primeiros Passos
Romualdo Andre
 
Cutelyst br-qtcon
Cutelyst br-qtconCutelyst br-qtcon
Cutelyst br-qtcon
Daniel Nicoletti
 
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
Eduardo Legatti
 
Rqt1
Rqt1Rqt1
Rqt1
Valdomiro Morais
 
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
Flá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/2017
Renato Groff
 
Django
DjangoDjango
Django
flisolmaringa
 
Git Overview: Grupo RBS
Git Overview: Grupo RBSGit Overview: Grupo RBS
Git Overview: Grupo RBS
Evandro Eisinger
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
Hélio Medeiros
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
André Justi
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
André Justi
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
iMasters
 
.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
Renato 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 .NET
tdc-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 2017
Renato 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 errar
Bruno Calheira
 
Android Studio: Primeiros Passos
Android Studio: Primeiros PassosAndroid Studio: Primeiros Passos
Android Studio: Primeiros Passos
Romualdo 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 - Nagios
Eduardo 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 Framework
Flá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/2017
Renato Groff
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
Hélio Medeiros
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
André Justi
 

Semelhante 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
tdc-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 Paulo
Renato 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.1
tdc-globalcode
 
GWT
GWTGWT
GWT
Lorran Pegoretti
 
.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 empresarial
Nuno Gomes
 
tutorial nagios
tutorial nagiostutorial nagios
tutorial nagios
André Luiz Cunha
 
.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 - 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
 
.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
 
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
Renato Groff
 
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
Fernando Henrique Bonfim Moreno del Rio
 
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
Mario Chaves
 
NuGet no Contexto Empresarial
NuGet no Contexto EmpresarialNuGet no Contexto Empresarial
NuGet no Contexto Empresarial
Comunidade NetPonto
 
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 ANT
elliando 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.1
Giovanni Bassi
 
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
tdc-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 Paulo
Renato 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.1
tdc-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 empresarial
Nuno 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 - 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
 
.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
 
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
Renato 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 django
Mario 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 ANT
elliando 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.1
Giovanni Bassi
 
Anúncio

Mais de Fabrício Lopes Sanchez (20)

Azure Lab Services
Azure Lab ServicesAzure Lab Services
Azure Lab Services
Fabrício Lopes Sanchez
 
Projetando aplicações para a nuvem
Projetando aplicações para a nuvemProjetando aplicações para a nuvem
Projetando aplicações para a nuvem
Fabrício Lopes Sanchez
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
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 Azure
Fabrício Lopes Sanchez
 
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
Fabrí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.0
Fabrício Lopes Sanchez
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
Fabrício Lopes Sanchez
 
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
Fabrí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
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
Fabrício Lopes Sanchez
 
A Nova Web
A Nova WebA Nova Web
A Nova Web
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-service
Fabrício Lopes Sanchez
 
SSI 2012 - Computação em Nuvem
SSI 2012 - Computação em NuvemSSI 2012 - Computação em Nuvem
SSI 2012 - Computação em Nuvem
Fabrí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 Azure
Fabrí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
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
Fabrício Lopes Sanchez
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
Fabrício Lopes Sanchez
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
Fabrí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 WebMatrix
Fabrí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 WebMatrix
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 Azure
Fabrí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.0
Fabrí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-service
Fabrí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 Azure
Fabrí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 fundamentais
Fabrí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 WebMatrix
Fabrí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 WebMatrix
Fabrício Lopes Sanchez
 
Anúncio

Último (10)

Venha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptxVenha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Renato de Oliveira
 
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptxVenha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Renato de Oliveira
 
Treinamento Sistemas de Reserva - Vtex..
Treinamento Sistemas de Reserva - Vtex..Treinamento Sistemas de Reserva - Vtex..
Treinamento Sistemas de Reserva - Vtex..
rafaelarocha646077
 
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...
Faga1939
 
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptxAC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
Susana Cascais
 
Manual Segurança_Internet_CD_B2_D.ppt____
Manual Segurança_Internet_CD_B2_D.ppt____Manual Segurança_Internet_CD_B2_D.ppt____
Manual Segurança_Internet_CD_B2_D.ppt____
IEFP
 
AutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamentalAutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamental
DayaneSoares55
 
A História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdf
A História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdfA História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdf
A História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdf
MaxMller84
 
Slide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdfSlide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdf
FtGames1
 
Ficha 5.docx____________________________
Ficha 5.docx____________________________Ficha 5.docx____________________________
Ficha 5.docx____________________________
IEFP
 
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptxVenha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Renato de Oliveira
 
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptxVenha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Renato de Oliveira
 
Treinamento Sistemas de Reserva - Vtex..
Treinamento Sistemas de Reserva - Vtex..Treinamento Sistemas de Reserva - Vtex..
Treinamento Sistemas de Reserva - Vtex..
rafaelarocha646077
 
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...
AS FONTES DE ENERGIA QUE MUDARAM O MUNDO AO LONGO DA HISTÓRIA E O REQUERIDO F...
Faga1939
 
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptxAC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
Susana Cascais
 
Manual Segurança_Internet_CD_B2_D.ppt____
Manual Segurança_Internet_CD_B2_D.ppt____Manual Segurança_Internet_CD_B2_D.ppt____
Manual Segurança_Internet_CD_B2_D.ppt____
IEFP
 
AutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamentalAutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamental
DayaneSoares55
 
A História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdf
A História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdfA História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdf
A História do Computador Subtítulo Da Antiguidade aos Dias Atuais.pdf
MaxMller84
 
Slide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdfSlide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdf
FtGames1
 
Ficha 5.docx____________________________
Ficha 5.docx____________________________Ficha 5.docx____________________________
Ficha 5.docx____________________________
IEFP
 

Conhecendo o NuGet e utilizando com ASP.NET MVC

  • 1. Criando uma aplicação ASP.NET MVC com auxílio do NuGetFabrício Sanchez |MVC Summit 2011
  • 2. Introdução / MotivaçãoNuGetO que é e para que serve?InstalaçãoUtilizando no Visual Studio 2010Gerenciando via PowerShellCriando e utilizando pacotesDemonstraçãoAgenda
  • 4. 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
  • 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 - 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
  • 9. NuGetO processo de instalação...
  • 10. 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
  • 11. NuGet – Instalação 2http://nuget.codeplex.com/releases
  • 13. 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)
  • 14. NuGet – Utilizando 2Add Library Package Reference
  • 15. NuGet – Utilizando 3Add Library Package Reference > Settings
  • 16. NuGet – Utilizando 4View > Other windows > Package Manager ConsoleGerenciamento via PowerShell
  • 17. Demo1NuGet e o Visual Studio 2010
  • 19. 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
  • 20. PowerShell 2PowerShell em execuçãoObtendo informações sobre o processo da calculadora
  • 21. NuGetNuGet, PowerShell e o 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 do NuGetcom Package Manager ConsoleDemo2
  • 32. 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)
  • 33. 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>
  • 34. 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
  • 35. NuGet - Criando pacote 43. Baixar NuGet.exehttp://nuget.codeplex.com/releases/57303/download/197743Ferramenta para geração de pacote: NuGet.exe
  • 36. NuGet - Criando pacote 54. Gerar pacote NuGet
  • 37. Adicionando repositório e utilizando 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 2010 e 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/