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

Mais conteúdo relacionado

Mais procurados

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
tdc-globalcode
 
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
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
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
 

Mais procurados (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
 

Semelhante 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 Bower
tdc-globalcode
 
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
 
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
 
GWT
GWTGWT
.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
 

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
 
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
 
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
 
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 - 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...
 
.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 ...
 
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
 

Mais de Fabrício Lopes Sanchez

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
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
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
 

Mais 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

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 

Último (6)

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 

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