NuGet 2 Essentials

NuGet 2 Essentials
eBook: $17.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $47.98    Print cover: $29.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Easily find and refer third-party libraries from your projects
  • Create packages from your class libraries for others to use and publish them to the official NuGet gallery
  • Host your own internal NuGet server and publish packages to it

Book Details

Language : English
Paperback : 116 pages [ 235mm x 191mm ]
Release Date : November 2013
ISBN : 178216586X
ISBN 13 : 9781782165866
Author(s) : Damir Arh, Dejan Dakić
Topics and Technologies : All Books, Open Source

Table of Contents

Chapter 1: Using a Package Manager in Visual Studio
Chapter 2: Package Management
Chapter 3: Creating and Publishing a Package
Chapter 4: Adding Features to a NuGet Package
Chapter 5: Hosting an Internal NuGet Server
  • Chapter 1: Using a Package Manager in Visual Studio
    • Benefits of using a package manager
    • Manually adding third-party library references
    • Setting up NuGet in Visual Studio
      • Requirements
      • Installing NuGet
        • Installing from the Visual Studio gallery
        • Installing from the Extension Manager
        • Installing the command-line utility
    • Adding references to third-party libraries using NuGet
      • Dependencies with NuGet
    • Summary
    • Chapter 2: Package Management
      • Updating referenced third-party libraries
        • Updating an installed package
        • Local package version management
      • Support for different target platforms
        • Installing a package for an unsupported target platform
      • Using NuGet with source control
        • Using NuGet on a build server
      • Using Package Manager Console
      • Summary
      • Chapter 3: Creating and Publishing a Package
        • Creating a package with NuGet Package Explorer
          • Dependencies
        • Publishing the package to the official NuGet Gallery
        • Creating and publishing a package from the command line
          • Creating a NuGet specification
          • Packing the package
          • Publishing the package
        • Generating the package during the build process
        • Understanding package versioning
          • SemVer
          • The prerelease packages
        • Summary
        • Chapter 4: Adding Features to a NuGet Package
          • Package folder structure
          • Multiplatform support
            • Testing a NuGet package locally
            • Folder naming conventions
          • Packaging localized satellite assemblies
            • Adding localized assemblies to the main package
            • Creating satellite packages
          • Adding new files and modifying existing ones
            • Transforming configuration files
              • The XML-Document-Transform syntax
            • Adding source code files
              • Visual Studio project properties
            • Adding MSBuild targets and properties
          • Including PowerShell scripts in a package
            • Running a script at install time
            • Adding a PowerShell module
          • Debugging of packages
            • Creating and publishing a symbol package
            • Consuming a symbol package
          • Summary
          • Chapter 5: Hosting an Internal NuGet Server
            • Understanding reasons for hosting NuGet internally
            • Creating a NuGet package repository
              • Creating a filesystem-based NuGet repository
                • The NuGet cache
              • Creating a lightweight NuGet server
                • Configuring the NuGet server
                • Accessing packages
                • Using a private feed with package restore
              • The NuGet Gallery
                • Prerequisites
                • Installing the NuGet Gallery
                • Configuring and compiling the NuGet Gallery
            • NuGet server in a continuous integration system
            • Summary

            Damir Arh

            Damir Arh has been working with the .NET Framework since it was first released when he was still in university. He has a lot of experience in desktop-based applications, be it Windows Forms or WPF. But he has also done some work in ASP.NET, both web forms and MVC. Lately, he has given more attention to mobile platforms, mostly Windows Store apps and Windows Phone. He's a fan of portable class libraries since he first tried them out. He has been working on large software projects for over 10 years, gaining experience in source control, continuous integration, and good development practices and patterns to cope with their complexities. He likes to share his knowledge with other developers through his blog at, by answering questions at Stack Overflow, and by speaking at local user group meetings and technical conferences. He has been awarded the Microsoft Most Valuable Professional (MVP) for the second year in a row. Currently, he works as a Software Architect for Adacta, a company specializing in development of software for insurance companies, based in Ljubljana, Slovenia.

            Dejan Dakić

            Dejan Dakić has been working with the .NET Framework for over five years. He has the most experience with ASP.NET but has also done a lot of work in Windows Forms and WPF. He has been active in mobile development since Windows Mobile, and now he has progressed to Windows RT. Lately, he has been spending time in the Windows Azure environment, focusing on web development, both client- and server-side. Currently, he works in a team with Damir as a software developer for Adacta—a company specializing in development of software for insurance companies, which is based in Ljubljana, Slovenia.

            Code Downloads

            Download the code and support files for this book.

            Submit Errata

            Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

            Sample chapters

            You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

            Frequently bought together

            NuGet 2 Essentials +    Mobile Web Development =
            50% Off
            the second eBook
            Price for both: £16.20

            Buy both these recommended eBooks together and get 50% off the cheapest eBook.

            What you will learn from this book

            • Install NuGet in all supported versions of Visual Studio
            • Use NuGet with source control and build servers
            • Create a NuGet package for your own class library
            • Publish your package to the official NuGet gallery
            • Create packages with multiplatform and multi-language support
            • Automatically configure target projects from the packages you create
            • Include custom install and uninstall scripts in your packages
            • Support debugging of your packaged libraries
            • Install your own internal NuGet server
            • Configure NuGet to use different NuGet servers

            In Detail

            NuGet has made the process of finding and referencing libraries from Visual Studio much easier and has strongly contributed to the expansion of an open source ecosystem. In the three years since its release, it has become an essential tool for both consuming and publishing class libraries for the .NET framework.

            A concise and practical guide to everything that NuGet has to offer to both consumers and publishers. Through many hands on examples, NuGet2 Essentials will demonstrate all of NuGet’s features and teach you how to use them in everyday development in a .NET framework.

            Starting out by using NuGet for consuming third-party libraries, this concise guide continues with a detailed look at creating your own packages, and ends by teaching you how to set up your own internal server. Through practical examples, you will learn to manage versions of installed libraries on all development and build machines. You will also discover how to create packages for your own libraries so they can be easily consumed, no matter how much configuration they require. By hosting an internal server, you will have full control of packages being used in your development environment.

            By the end of the book, you will know about everything that NuGet has to offer, and how it can make your development process better.


            This concise guide is full of hands-on examples to guide you through all of NuGet’s features and use them in everyday development of .NET frameworks.

            Who this book is for

            If you are a .NET developer who wants to learn more about NuGet, this book is ideal for you. Although it doesn’t require any prior knowledge about NuGet itself, it assumes that you are already familiar with Visual Studio and the .NET framework. All code in the examples is written using C# so you will also need at least a basic knowledge of the language.

            Code Download and Errata
            Packt Anytime, Anywhere
            Register Books
            Print Upgrades
            eBook Downloads
            Video Support
            Contact Us
            Awards Voting Nominations Previous Winners
            Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
            Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software