Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NuGet: Simplified Management of Libraries

636 views

Published on

An overview of NuGet, focused on package consumer's viewpoint, including a tutorial on publishing the first package in official NuGet gallery. It concludes with a broader view of NuGet ecosystem.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

NuGet: Simplified Management of Libraries

  1. 1. NuGet: Poenostavljeno upravljanje s knjižnicami Damir Arh, Adacta d.o.o. Arhitekt programske opreme MVP – Visual C# @DamirArh, http://www.damirscorner.com
  2. 2. Agenda  Upravljanje s paketi  Kreiranje in objavljanje paketov  Lastni vir paketov  Širša slika
  3. 3. Kaj je upravljanje s paketi  Upravljanje z referencami v projektih  Nameščanje  Upravljanje z odvisnostmi  Posodabljanje  Druge platforme  RubyGems  NPM  Maven
  4. 4. Izvajanje osnovnih operacij
  5. 5. Uporaba ukazne vrstice  PowerShell  Omogoča hitrejše delo  Prinaša dodatne funkcionalnosti  Install-Package Newtonsoft.Json –ProjectName MyProject  Update-Package Safe  Update-Package Newtonsoft.Json –Version 6.0.3
  6. 6. Sodelovanje s sistemi za nadzor izvorne kode  Sistemi za nadzor izvorne kode  Team Fondation Version Control  Subversion  Git  Mercurial  Paketi ne sodijo vanje  Packages.config vsebuje vse informacije  Obnavljanje paketov
  7. 7. Dva načina obnavljanja paketov
  8. 8. Premik lokacije paketov  Mapa packages privzeto na nivoju rešitve  Nastavljivo v datoteki NuGet.config  <add key="repositoryPath" value=".Packages" />  Pot relativno na lokacijo datoteke  Primeri uporabe  Skupna mapa za celoten repozitorij  Nujno za projekte v več rešitvah
  9. 9. Lokalna kopija paketov
  10. 10. Kreiranje lastnih paketov  Zakaj?  Odprtokodne knjižnice  Šibkeje sklopljene interne knjižnice  Kaj vključujejo?  Knjižnice  Dokumentacija  Nastavitvene datoteke  Ostalo  Kakšna orodja potrebujemo?
  11. 11. NuGet Package Explorer
  12. 12. Struktura imenikov  Korenski imeniki  lib  content  build  tools  Podpora verzijam ogrodja  net20, net35, net40, net45…  netcore45, netcore451  wp8, wp81, wpa81  portable-net45+wp80+win8+wpa81
  13. 13. Objavljanje paketov  Registracija računa na nuget.org  Načini objavljanja  Prek galerije  Z NuGet Package Explorer  Prek ukazne vrstice  Uporaba ključa API  Skriti paketi  https://staging.nuget.org
  14. 14. Uporaba NuGet iz ukazne vrstice
  15. 15. Naprednejše funkcionalnosti  Lokalizacija paketov  Transformiranje nastavitvenih datotek  Dodatne datoteke MSBuild  Skripti PowerShell  Simboli za razhroščevanje
  16. 16. Lastni viri paketov  Zakaj?  Objava internih paketov  Neodvisnost od zunanjih virov  Omejevanje dovoljenih paketov  Ponudba ekipe NuGet  Datotečni sistem  Paket Server.NuGet  Projekt NuGet Gallery
  17. 17. Produkti drugih ponudnikov  TeamCity  MyGet  ProGet  Sonatype Nexus  JFrog Artifactory
  18. 18. Uporaba v lastnih projektih  Paketi NuGet  NuGet.Core  NuGet.Server  Primeri  ReSharper  Chocolatey  BoxStarter  OctopusDeploy
  19. 19. NuGet 3  Izboljšave  Spremenjena arhitektura  Hitrejše delovanje  Višja razpoložljivost  Predelano razreševanje odvisnosti  Preverjanje podprtih platform  Izboljšan uporabniški vmesnik  Razpoložljivost  CTP 1 za VS 2013 in VS 14 CTP  Načrtovano za letošnje poletje
  20. 20. Uporabne povezave  http://nuget.org  http://twitter.com/nuget  http://blog.nuget.org  http://nuget.codeplex.com  http://www.nudoq.org  http://nugetmusthaves.com  http://hotnuget.com
  21. 21. Povzetek  Obvezno orodje v rokah razvijalca za .NET  Lažje upravljanje z referencami  Interni paketi za interne knjižnice  Lastni viri paketov  Uporaba tehnologije za delo z vtičniki
  22. 22. Vprašanja  damir.arh@gmail.com  http://twitter.com/DamirArh  http://www.damirscorner.com
  23. 23. NuGet 2 Essentials  http://bit.ly/NuGet2Amazon  http://bit.ly/NuGet2Packt  http://bit.ly/NuGet2Info

×