ProGet Documentation

NuGet Feeds in ProGet

A NuGet feed in ProGet acts as a repository for NuGet packages. Typically, these packages are consumed from Visual Studio or a command-line client such as NuGet.exe. They can also be browsed and managed from ProGet's web application.

ProGet 5.0 Beta Documentation Note:

With v5, we will be introducing a new NuGet feed type that supports only SemVer2 version numbers, and will be renaming the old NuGet feed type to "NuGet (Quirks)". The legacy type will not be creatable from the user interface, but we will provide a manual migration mechanism. This is currently in beta, and the documentation is subject to change at any time.

New NuGet Feed Type

NuGet has a lot of documented and undocumented versioning quirks, which has made package identification quite challenging. For example, 1.0 and 1.0.0 are considered to be separate versions, which means you can have two packages with basically the same version number.

ProGet implements some of these quirks for NuGet feeds, but not all; for example, NuGet had also considered "1.0.0" and "1.00.0" to be separate versions, but in ProGet they are the same.

Fortunately, Microsoft has been working towards eliminating these quirks over the years, and introduced several breaking changes in various versions (including v3.4) and on NuGet.org, and is continuing to move the product towards a well-defined versioning scheme (SemVer2). Unfortunately, many organizations rely on the quirks – which is why we have been reluctant to introduce these changes in our product.

Starting in ProGet 5.0, we will be introducing a new feed type that supports only SemVer2 version numbers, and will be renaming the old NuGet feed type to "NuGet (Quirks)". The legacy type will not be creatable from the user interface, but we will provide a manual migration mechanism.

NuGet-Specific Feed Configuration

NuGet API Key

If set, specifies the NuGet API key that is required to be supplied for pushing packages to this feed using the NuGet client. See the NuGet API Keys section for additional information about how the API key relates to authentication.

Enable Symbol and Source Server

When set, ProGet will scan NuGet packages for .pdb files and make them available as a symbol server at the /symbols/[FeedName] URL. See the Symbol Server section for additional information.

Automatically Strip PDB files

When set, ProGet will not include .pdb files when packages are downloaded. This setting is ignored when the symbol server is disabled.

More on this topic: