Nuget

  • 472 views
Uploaded on

Presentation done at the .net ug about nuget package manager

Presentation done at the .net ug about nuget package manager

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
472
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
15
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. AMIR BARYLKO & JAMES CHAMBERS NUGET PACKAGE MANAGERAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. ABOUT AMIR • Architect • Developer • Mentor • Great cook • Software Quality Expert at mavenTHOUGHT Inc.Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. 12’’ PIZZA ON WHITEAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 6. HOW DO WE SHARE DLLS TODAY?Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. NO VERSIONING • 1.0.0.0 • Or just changed with releases • Or nobody caresAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. 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. 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. 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. NUGETAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 14. VS EXTENSION • Just install it!Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 15. WHERE ARE THE DLLS? • Packages folder (check it out)Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. 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. WHAT ABOUT DEBUGGING? • Use the symbol source Luke! • SymbolSource.Server.Basic can be installed with nuget :)Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. POST INSTALLATION • Install all dependencies • Run web transforms • Run any other configurationAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 21. MULTIPLE SERVERS • Nuget.org • MyGet •A shared folder • Your own local serverAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 22. RISKS / DOUBTSAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 23. NO INTERNET • Backups • Local feeds • Go home!Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. FORCES VERSIONING • And that’s a problem because.... ?Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 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. CONTACT US • Email: james@jameschambers.com amir@barylko.com • Twitter: @canadianjames, @abarylko • Slides: http://orthocoders.com/presentations.htmlAmir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.