Your SlideShare is downloading. ×
0
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
NuGet Nuggets
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

NuGet Nuggets

1,252

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,252
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
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
  • http://www.flickr.com/photos/spyndle/2422552640/
  • Transcript

    • 1. ctrl f5<br />
    • 2. Clark Sell<br />
    • 3.
    • 4. developer evangelist<br />
    • 5. csell.net<br />
    • 6.
    • 7.
    • 8. @csell5<br />
    • 9. bitbucket.org/csell5/demos<br />
    • 10.
    • 11. hopefully<br />
    • 12.
    • 13. nuggets<br />
    • 14. What is nuget?<br />NuGetis a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development. NuGet is a member of the ASP.NET Gallery in the OutercurveFoundation.<br />nuget.codeplex.com<br />
    • 15.
    • 16.
    • 17.
    • 18. 091998E7-A522-4DD0-86FF-8A0FDCAB3C0C<br />
    • 19. NPack<br />
    • 20.
    • 21.
    • 22. distribution methods<br />
    • 23.
    • 24.
    • 25.
    • 26. .exe, .msi, .zip <br />Installed to Operating System<br />Lots of choices<br />Usually chained with other packages<br />Stands and installs by itself<br />No native distribution channel<br />No free marketing<br />Manual Updates, ie need another package and user input<br />Examples packages:<br />WebPI<br />Visual Studio<br />Office<br />
    • 27. WebPI<br />Catalogue of products<br />Install stands on it’s own<br />Packages install to operating system<br />Install through WebPI distribute channel<br />Installation Simplified<br />Drive by, Marketing<br />Example Packages:<br />WebPI<br />MVC<br />IIS Modules<br />WordPress<br />
    • 28. VS extension manager<br />Part of Visual Studio<br />Packages install into Visual Studio<br />Packages are targeted to augmenting the development experience<br />Automatic updating<br />Drive by marketing<br />Example packages include<br />nuget<br />Visual Studio Powertools<br />JetBrainsResharper<br />
    • 29. nuget<br />Packages are usually “libraries”<br />Packages are meant to be developed against <br />Multiple hosting strategies<br />Channel = Web<br />Drive by martketing<br />Easy tooling integration with things like Visual Studio, WebMatrix<br />Example packages:<br />ELMAH<br />Entity Framework<br />SQL Compact<br />UrlShortenerHelper<br />
    • 30.
    • 31. architecture breakdown<br />Command Line, Visual Studio, WebMatrix, Applications<br />nuget<br />Core, Dialog or Interface, Server<br />nupackpackages<br />GalleryServer<br />
    • 32. package breakdown<br /><ul><li>Name
    • 33. Version
    • 34. content - These files will be copied to the site root on install
    • 35. Readme.txt
    • 36. web.config.transform
    • 37. Lib - dlls under this folder become assembly references on install
    • 38. MyCommonAssembly.dll { all framework versions }
    • 39. Net35 { Frameowork Name }{ Version }
    • 40. MyAssembly.dll
    • 41. Net40
    • 42. MyAssembly.dll
    • 43. xxx.Nuspec</li></li></ul><li>.nuspec<br />&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;packagexmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; <br />xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;<br /> &lt;metadataxmlns=&quot;http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd&quot;&gt;<br /> &lt;id&gt;UrlShortener.Helper&lt;/id&gt;<br /> &lt;version&gt;0.9.1&lt;/version&gt;<br /> &lt;authors&gt;Clark Sell&lt;/authors&gt;<br /> &lt;licenseUrl&gt;http://urlshortenerhelper.codeplex.com/license&lt;/licenseUrl&gt;<br /> &lt;projectUrl&gt;http://urlshortenerhelper.codeplex.com&lt;/projectUrl&gt;<br /> &lt;requireLicenseAcceptance&gt;false&lt;/requireLicenseAcceptance&gt;<br /> &lt;language&gt;en-US&lt;/language&gt;<br /> &lt;description&gt;desc&lt;/description&gt;<br /> &lt;summary&gt;summary&lt;/summary&gt;<br /> &lt;/metadata&gt;<br />&lt;/package&gt;<br />
    • 44. .nuspec dependencies<br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;package&gt;<br /> &lt;metadata&gt;<br /> &lt;id&gt;sample&lt;/id&gt;<br /> &lt;version&gt;1.0.0&lt;/version&gt;<br /> &lt;authors&gt;Microsoft&lt;/authors&gt;<br /> &lt;dependencies&gt;<br /> &lt;dependencyid=&quot;another-package&quot; version=&quot;3.0.0&quot; /&gt;<br /> &lt;dependencyid=&quot;yet-another-package&quot; minversion=&quot;2.1.0&quot; /&gt;<br /> &lt;/dependencies&gt; <br /> &lt;/metadata&gt;<br />&lt;/package&gt;<br />
    • 45. config transforms<br />contentweb.config.tranform ( or app.config )<br />It does a merge not a copy<br />Existing<br />&lt;configuration&gt;<br /> &lt;system.webServer&gt;<br /> &lt;modules&gt;<br /> &lt;add name=&quot;csellModule&quot; type=&quot;csell.module&quot; /&gt;<br /> &lt;/modules&gt;<br /> &lt;system.webServer&gt;<br />&lt;/configuration&gt;<br />Transform<br />&lt;…&gt;<br /> &lt;add name=&quot;csellNewModule&quot; type=&quot;csell.newModule&quot; /&gt;<br />&lt;/…&gt;<br />Resulting<br />&lt;…&gt;<br /> &lt;add name=&quot;csellModule&quot; type=&quot;csell.module&quot; /&gt;<br /> &lt;add name=&quot;csellNewModule&quot; type=&quot;csell.newModule&quot; /&gt;<br />&lt;/…&gt;<br />
    • 46. source transforms<br />Oh yes you can….<br />Similar to Visual Studio Project Templates<br />David Ebbo, NuGets with Startup code and WebActivator<br />http://blogs.msdn.com/b/davidebb/archive/2010/10/11/light-up-your-nupacks-with-startup-code-and-webactivator.aspx<br />ProjectProperties Properties – <br />http://msdn.microsoft.com/en-us/library/vslangproj.projectproperties_properties(VS.80).aspx<br />
    • 47. developers<br />Get<br />Push <br />Host<br />HOST<br />Get<br />Push<br />
    • 48. demo<br />Installing<br />Browsing packages<br />Installing packages<br />Creating Packages<br />Creating<br />Dependencies<br />Transforms<br />Hosting Packages<br />
    • 49. resources<br />nuget - nuget.codeplex.com<br />current nuget package store - nuPackPackages.codeplex.com<br />nuget gallery server - GalleryServer.codeplex.com<br />and more…<br />

    ×