NuGet is a free, open source, package management tool for the .NET platform. It is developed by Microsoft and has been contributed to the ASP.NET Gallery on Outercurve Foundation, formerly known as the Codeplex Foundation. It also ships as part of the ASP.NET MVC 3 tooling. NuGet enables .NET developers to easily find packages, including any dependencies, and manage them within Visual Studio projects.
A NuGet package can consist of assemblies, configuration files, source code and more. Software package management is not a new concept, although the tools have been notably missing for years by .NET developers. Some open source tools were available but like with many things life a chicken-egg problem existed between having tooling and having a package publishing ecosystem.
Authors Maarten Balliauw and Xavier Decoster have been working with NuGet since it was first released, contributing many ideas and practical solutions to the community over that time. In this book they demonstrate both the core concepts and the more advanced thinking needed to use NuGet effectively.
What you’ll learn
-
Interact with NuGet using both the graphical user interface and the command line.
-
Set up your own NuGet repository and develop a basic NuGet server application.
-
Explore different automation scenarios leveraging NuGet, including continuous integration and automated deployment.
-
Quickly set up an enterprise-ready environment with MyGet, a NuGet-as-a-Service web application.
-
Use NuGet to accomplish other goals, such as delivering plug-ins or modules to a web application.
Who this book is for
With help from this succinct guide, you’ll quickly trust NuGet as a swift, invaluable asset in your toolbox. Find yourself imbued with the knowledge and skills to escape ‘dependency hell’ and establish a solid pattern to maintain external references in projects using NuGet.
Table of Contents
-
Getting Started
-
Consuming and Managing Packages in a Solution
-
Creating Pacakages
-
Publishing Packages
-
Hosting Your Own NuGet Server
-
Continuous Package Integration
-
Automated Delivery
-
Extending NuGet
-
NuGet as a Protocol
-
Appendix A
-
Appendix B
-
Appendix C