1 / 40

NuGet for The Enterprise .NET Package Management

Microsoft Community DevUG Rijeka. DEV338. NuGet for The Enterprise .NET Package Management. Scott Hanselman Principal Program Manager Microsoft. Hrvoje Hudoletnjak StratusNav. PublishSettingsGenerator. UrlShortener.Helper. postal. nservicebus. Simple.Data.Core. Autofac. FakeItEasy.

libby
Download Presentation

NuGet for The Enterprise .NET Package Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microsoft Community DevUG Rijeka DEV338 NuGet for The Enterprise.NET Package Management Scott Hanselman Principal Program Manager Microsoft Hrvoje Hudoletnjak StratusNav

  2. PublishSettingsGenerator UrlShortener.Helper postal nservicebus Simple.Data.Core Autofac FakeItEasy Altairis.Web.Security Bootstrapper QuickGraph Spark Common.Logging FluentHtml-ci Machine.Specifications Antlr Should AutoMapper MvvmLight NUnit reactiveui-core StructureMap 51Degrees.mobi Elmah Hammock MvcMailer RhinoMocks Adam.JSGenerator Newtonsoft.Json DotNetZip BBCode fasterflect Castle Lucene AzureToolkit FluentNHibernate FluentAssertions NHibernate FluentValidation NSubstitute log4net NLog WatiN Ninject DotNetOpenAuth jQuery AutoPoco Rx Iesi Collections TweetSharp Facebook SDK HtmlAgilityPack xunit SharpZipLib MvcContrib combres iTextSharp linq.js CLEditor Moq RestSharp jQuery.Validation Simple.Data.Core MvcSiteMapProvider RavenDB ErikEJ.SqlCeMembership

  3. Make using OSS as easy as “Add Reference”

  4. Make using software as easy as “Add Reference”

  5. How do we do that?

  6. BUILD UP THE DEVELOPERECOSYSTEM

  7. Adding a library to a project • What is the experience to add an existing 3rd Party or open source library to a project today? • Let’s take a look

  8. Like all good stories, it starts with a Google search

  9. Like all good stories, it starts with a Bing search

  10. So far so good in this case.

  11. This looks right

  12. ? Turns out, this is the right one.

  13. Looks right to me, I guess.

  14. Before we extract it, we need to visit the Properties

  15. Don’t forget this!

  16. Extract assemblies to a folder within the solution directory

  17. Need to add the correct configuration to web.config

  18. Finally! It works!

  19. that‘s for a single assembly!

  20. What Happens When I’m Ready For Build V2?

  21. we can do much better!

  22. Our NuGet Agenda • Basics: What it can do • Making Packages & Publishing • Command-line vs. UI • Examples from Simple to Advanced • Conventions, Transforms and Preprocessing, PowerShell • NuGet Servers of all Sizes • NuGet and Source Control • NuGet and Continuous Integration • Extreme Examples

  23. What about big boring companies?

  24. What problem are we trying to solve? • Sharing business level components among teams. • Sharing best practices among teams. • Build productivity helpers on top of existing Out of the Box, Open Source or 3rd party tools and libraries. • Setup configuration that is specific to the enterprise environment.

  25. How is this solved today • File shares with folders full of assemblies or downloaded 3rd party installers. • Tribal knowledge • Sparse documentation in wikis or email threads. • Pulled from existing source code trees within the company.

  26. How does NuGet help? • Provides a central location to store this knowledge, in the form of code, assemblies, configuration, and automation scripts. • Provides concrete solutions rather than guidance, policies, or abstract standards.

  27. Continuous Integration • Create a second Repository for CI builds. • Automate the NuGet Package creation from your CI builds to publish to the CI Repository • Automatically increment your version numbers in your assemblies and NuGets

  28. PILE OF DEMOS! NuGet

  29. Development • NuGet is an OuterCurve Foundation Project • Hosted on http://nuget.codeplex.com • External contributions allowed • Several external core contributors • Monthly point release cadence • Large uptake so far: http://stats.nuget.org

  30. Web Track Resources • http://www.asp.net/ • http://www.silverlight.net/ • http://www.microsoft.com/web/gallery/ • http://www.iis.net/ • http://weblogs.asp.net/Scottgu/ • http://www.hanselman.com

More Related