An Overview of the NuGet Ecosystem
Since it's introduction in 2010, NuGet has presented a great opportunity to improve and automate different aspects of the development processes.
Because NuGet is open source under a permissive Apache v2 license, other projects can leverage NuGet and companies can build support for it in their products. Whether for open-source projects or enterprise application development, NuGet and other applications built on and around NuGet provide a broad ecosystem of tools for improving your software development process.
All of these projects are able to innovate because of developer contributions. Just as you contribute to NuGet itself, also make contribution to these projects by reporting defects and new feature ideas, providing feedback, writing documentation, and contributing code where possible.
.NET Foundation projects
NuGet provides a free, open source package management system for the Microsoft development platform. It consists of a few client tools as well as the set of services that comprise the official NuGet Gallery. Combined, these form the NuGet project which is governed by the .NET Foundation.
The NuGet Organization contains various repositories on GitHub. https://github.com/Nuget/Home gives an overview of all the repositories and where to find the various NuGet components.
Microsoft has contributed extensively to the development of NuGet. All contributions made by Microsoft employees are also open source and are donated (including copyrights) to the .NET Foundation.
Many other individuals and companies have made significant contributions to the NuGet ecosystem. Each project listed here may have a different license than the core NuGet components, so confirm that the license terms are acceptable prior to use:
- AppVeyor CI
- JetBrains ReSharper
- JetBrains TeamCity
- MyGet (or NuGet-as-a-service)
- NuGet Package Explorer
- NuGet Server
- ProGet (Inedo)
- Sonatype Nexus
- Xamarin and MonoDevelop
Other NuGet-based utilities
These are tools and utilities built on NuGet:
- Glimpse Extensions (plug-ins are packages)
- NuGetFeed (build a list of favorite packages)
- Orchard (CMS modules are fetched from a v1 NuGet feed hosted in the Orchard Gallery)
- Java implementation of NuGet Server
- NuGetLatest (Twitter bot tweeting new package publications)
- HotNuget (compare package usage)
- DefinitelyTyped (Automatic TypeScript Type Definitions published to NuGet)
Training materials and references
Using a new tool or technology usually comes with a learning curve. Luckily for you, NuGet has no steep learning curve it all! In fact, anyone can get started consuming packages quickly.
That said, authoring packages–and especially good packages–along with embracing NuGet in automated build and deployment processes, requires spending a little more time with the following resources:
- Official NuGet Documentation site
- NuGet Blog
- NuGet team on Twitter, @nuget
Documentation for individual packages
NuDoq provides straightforward access and updates and documentation for NuGet packages.
NuDoq regularly polls the NuGet.org gallery server for the latest package updates, unpacks and processes the library documentation files, and updates the site accordingly.
Adding your project
If you have a NuGet ecosystem project that would be a valuable addition to this page, please submit a pull request with an edit to this page.