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.
AMIR BARYLKO &                      JAMES CHAMBERS                      NUGET PACKAGE                        MANAGERAmir B...
ABOUT JAMES  • Microsoft          MVP in Asp.Net/IIS  • Husband           and father of 3  • Humanitarian: food, water, JD...
ABOUT AMIR  • Architect  • Developer  • Mentor  • Great       cook  • Software          Quality Expert at mavenTHOUGHT Inc...
CONTACT US  •   Email: james@jameschambers.com             amir@barylko.com  •   Twitter: @canadianjames, @abarylko  •   S...
12’’ PIZZA ON WHITEAmir Barylko & James Chambers- Nuget   mavenTHOUGHT Inc.
HOW DO WE                  SHARE DLLS TODAY?Amir Barylko & James Chambers- Nuget   mavenTHOUGHT Inc.
SHARED FOLDERS  • All    the dlls are stored in a particular location  • All    the projects add the reference to a DLL  •...
NO VERSIONING  • 1.0.0.0  • Or     just changed with releases  • Or     nobody caresAmir Barylko & James Chambers- Nuget  ...
HUGE SOLUTIONS  • All    the projects share the same solution  • No      matter cohesion  • It’s   easier to “debug” (real...
BINARIES IN SRC CONTROL  • The      binaries of the dependencies  • Are      stored in source control  • In   order to be ...
UPDATE DLLS NIGHTMARE  • Go      to each project and remove the old  • Then       add the new reference  • Or     just don...
ADDING REFERENCES  • Find     and add elmah.dll  • Find     and add log4net.dll  • Find     any other dependency  • Modify...
NUGETAmir Barylko & James Chambers- Nuget           mavenTHOUGHT Inc.
VS EXTENSION  • Just    install it!Amir Barylko & James Chambers- Nuget     mavenTHOUGHT Inc.
WHERE ARE THE DLLS?  • Packages          folder (check it out)Amir Barylko & James Chambers- Nuget          mavenTHOUGHT I...
RESTORE ON BUILD  • No      need to store Packages folder  • Just    check “restore on build”  • If   needed, nuget will d...
COMMAND SHELL  • More        flexibility  • Use      nuget command shell to install, uninstall etc...  • Auto       complet...
WHAT ABOUT DEBUGGING?  • Use      the symbol source Luke!  • SymbolSource.Server.Basic          can be installed with    n...
PUBLISHING  • Get      an API key from your server  • nuget       -spec  • Or Albacore              has a task for it (Yes...
POST INSTALLATION  • Install     all dependencies  • Run      web transforms  • Run      any other configurationAmir Barylk...
MULTIPLE SERVERS  • Nuget.org  • MyGet  •A     shared folder  • Your      own local serverAmir Barylko & James Chambers- N...
RISKS / DOUBTSAmir Barylko & James Chambers- Nuget      mavenTHOUGHT Inc.
NO INTERNET  • Backups  • Local      feeds  • Go      home!Amir Barylko & James Chambers- Nuget     mavenTHOUGHT Inc.
EXPENSIVE UPDATE  • Update         only when you want  • Update         all of them together possible  • Why        force ...
FORCES VERSIONING  • And       that’s a problem because.... ?Amir Barylko & James Chambers- Nuget           mavenTHOUGHT I...
IF IT WORKS DON’T BREAK IT  • No      more binaries in source control  • Clear       dependency management  • Less     cou...
CONTACT US  •   Email: james@jameschambers.com             amir@barylko.com  •   Twitter: @canadianjames, @abarylko  •   S...
Nuget
Upcoming SlideShare
Loading in …5
×

Nuget

1,079 views

Published on

Presentation done at the .net ug about nuget package manager

Published in: Technology, Business
  • Be the first to comment

Nuget

  1. 1. AMIR BARYLKO & JAMES CHAMBERS NUGET PACKAGE MANAGERAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  2. 2. ABOUT JAMES • Microsoft MVP in Asp.Net/IIS • Husband and father of 3 • Humanitarian: food, water, JDRF • Product & Community Development Manager at LogiSenseAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  3. 3. ABOUT AMIR • Architect • Developer • Mentor • Great cook • Software Quality Expert at mavenTHOUGHT Inc.Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  4. 4. CONTACT US • Email: james@jameschambers.com amir@barylko.com • Twitter: @canadianjames, @abarylko • Slides: http://orthocoders.com/presentations.htmlAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  5. 5. 12’’ PIZZA ON WHITEAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  6. 6. HOW DO WE SHARE DLLS TODAY?Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  7. 7. SHARED FOLDERS • All the dlls are stored in a particular location • All the projects add the reference to a DLL • When a DLL is updated overwrites the previous versionAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  8. 8. NO VERSIONING • 1.0.0.0 • Or just changed with releases • Or nobody caresAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  9. 9. HUGE SOLUTIONS • All the projects share the same solution • No matter cohesion • It’s easier to “debug” (really?)Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  10. 10. BINARIES IN SRC CONTROL • The binaries of the dependencies • Are stored in source control • In order to be able to build every timeAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  11. 11. UPDATE DLLS NIGHTMARE • Go to each project and remove the old • Then add the new reference • Or just don’t use versioning (only internal) • But you force everyone to update!Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  12. 12. ADDING REFERENCES • Find and add elmah.dll • Find and add log4net.dll • Find any other dependency • Modify configuration • Etc....Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  13. 13. NUGETAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  14. 14. VS EXTENSION • Just install it!Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  15. 15. WHERE ARE THE DLLS? • Packages folder (check it out)Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  16. 16. RESTORE ON BUILD • No need to store Packages folder • Just check “restore on build” • If needed, nuget will download themAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  17. 17. COMMAND SHELL • More flexibility • Use nuget command shell to install, uninstall etc... • Auto complete can be handy • Choose version, etc....Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  18. 18. WHAT ABOUT DEBUGGING? • Use the symbol source Luke! • SymbolSource.Server.Basic can be installed with nuget :)Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  19. 19. PUBLISHING • Get an API key from your server • nuget -spec • Or Albacore has a task for it (Yes, ruby and rake, get over it) • Or NugetPackageExplorerAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  20. 20. POST INSTALLATION • Install all dependencies • Run web transforms • Run any other configurationAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  21. 21. MULTIPLE SERVERS • Nuget.org • MyGet •A shared folder • Your own local serverAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  22. 22. RISKS / DOUBTSAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  23. 23. NO INTERNET • Backups • Local feeds • Go home!Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  24. 24. EXPENSIVE UPDATE • Update only when you want • Update all of them together possible • Why force to update if you don’t need to?Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  25. 25. FORCES VERSIONING • And that’s a problem because.... ?Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  26. 26. IF IT WORKS DON’T BREAK IT • No more binaries in source control • Clear dependency management • Less coupling • Follow a standard • Less headaches!Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  27. 27. CONTACT US • Email: james@jameschambers.com amir@barylko.com • Twitter: @canadianjames, @abarylko • Slides: http://orthocoders.com/presentations.htmlAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.

×