You are previewing Pro NuGet.
O'Reilly logo
Pro NuGet

Book Description

Pro NuGet offers you a solid architectural understanding of how to manage software dependencies using NuGet, an open-source package management tool for the .NET Framework. Providing practical guidance through a multitude of examples and more advanced scenarios, this book shows you how to unleash all the power that NuGet offers. It will help you to streamline your day to day development and even make it more fun to write code.

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

  1. Title
  2. Dedication
  3. Contents at a glance
  4. Contents
  5. Foreword
  6. About the Authors
  7. About the Technical Reviewer
  8. Acknowledgments
  9. The Bigger Picture
    1. Leveraging the Community
    2. Get Latest Version
    3. Escaping From Dependency Hell
    4. An Introduction to Package Management
    5. Key Benefits of NuGet
    6. Who Should Use NuGet
    7. Summary
  10. Chapter 1: Getting Started
    1. Preparing Your Workstation
    2. Installing NuGet
    3. Getting Further Information
    4. Summary
  11. Chapter 2: Consuming and Managing Packages in a Solution
    1. Consuming Your First NuGet Package
    2. Using the Package Manager Console
    3. Using the NuGet Command Line
    4. Managing Packages in a Solution
    5. Visualizing Package Dependencies Using the Package Visualizer
    6. Summary
  12. Chapter 3: Creating Packages
    1. Defining Package Conventions
    2. Creating Packages Using the NuGet Command Line
    3. Creating Packages using NuGet Package Explorer
    4. Testing Packages
    5. Summary
  13. Chapter 4: Publishing Packages
    1. Creating a Sample Package
    2. Contributing to the Official NuGet Package Repository
    3. Publishing Packages Using the NuGet Command Line
    4. Publishing Packages Using NuGet Package Explorer
    5. Publishing a Symbol Package
    6. Summary
  14. Chapter 5: Hosting Your Own NuGet Server
    1. Why Host Your Own NuGet Feed?
    2. Setting Up a Simple NuGet Package Repository
    3. Creating a Basic NuGet Server
    4. NuGet Gallery
    5. Orchard Gallery
    6. NuGet As a Service: MyGet
    7. Summary
  15. Chapter 6: Continuous Package Integration
    1. Using a No Commit Strategy
    2. Promoting Packages
    3. Summary
  16. Chapter 7: Automated Delivery
    1. Deploying Artifacts with Octopus
    2. Deploying Software with Chocolatey
    3. Summary
  17. Chapter 8: Extending NuGet
    1. Why Extend NuGet?
    2. Extending the NuGet Command Line
    3. Extending the Package Manager Console
    4. Extending NuGet Package Explorer
    5. Summary
  18. Chapter 9: NuGet As a Protocol
    1. Understanding Protocols
    2. Creating a Pluggable Application Using NuGet
    3. Creating a Self-Updating Application Using NuGet
    4. Summary
  19. Appendix A: Package Manifest (.nuspec) Reference
    1. Creating the Metadata Section
    2. Referencing Dependencies
    3. Specifying Files to Include in a Package
  20. Appendix B: NuGet Command Line Reference
    1. Deleting Packages
    2. Using the help Command
    3. Installing Packages
    4. Listing Packages
    5. Using the pack Command to Create Packages
    6. Publishing Packages
    7. Pushing a Package
    8. Using the setApiKey Command
    9. Using the sources Command
    10. Using the spec Command
    11. Updating Packages
  21. Appendix C: NuGet Package Manager Console PowerShell Reference
    1. Support for Common Parameters
    2. Adding Binding Redirects
    3. Getting a Set of Packages
    4. Getting Project Information
    5. Installing Packages
    6. Creating Packages
    7. Open Package Pages
    8. Uninstalling Packages
    9. Updating Packages
  22. Index