NuGet.Packaging 6.9.1

Nuget.Packaging

NuGet.Packaging is a NuGet client SDK library that provides a set of APIs to interact with .nupkg and .nuspec files from a stream. It provides a way for developers to create and read packages and work with the package metadata.

Usage

It is strongly recommended that NuGet packages are created using the official NuGet tooling and instead of this low-level API. There are a variety of characteristics important for a well-formed package and the latest version of tooling helps incorporate these best practices.

For more information about creating NuGet packages, see the overview of the package creation workflow and the documentation for official pack tooling (for example, using the dotnet CLI).

Examples

Create a package

Create a package, set metadata, and add dependencies.

PackageBuilder builder = new PackageBuilder();
builder.Id = "MyPackage";
builder.Version = new NuGetVersion("1.0.0-beta");
builder.Description = "My package created from the API.";
builder.Authors.Add("Sample author");
builder.DependencyGroups.Add(new PackageDependencyGroup(
    targetFramework: NuGetFramework.Parse("netstandard1.4"),
    packages: new[]
    {
        new PackageDependency("Newtonsoft.Json", VersionRange.Parse("10.0.1"))
    }));

using FileStream outputStream = new FileStream("MyPackage.nupkg", FileMode.Create);
builder.Save(outputStream);
Console.WriteLine($"Saved a package to {outputStream.Name}");

Read a package

Read a package from a file.

using FileStream inputStream = new FileStream("MyPackage.nupkg", FileMode.Open);
using PackageArchiveReader reader = new PackageArchiveReader(inputStream);
NuspecReader nuspec = reader.NuspecReader;
Console.WriteLine($"ID: {nuspec.GetId()}");
Console.WriteLine($"Version: {nuspec.GetVersion()}");
Console.WriteLine($"Description: {nuspec.GetDescription()}");
Console.WriteLine($"Authors: {nuspec.GetAuthors()}");

Console.WriteLine("Dependencies:");
foreach (PackageDependencyGroup dependencyGroup in nuspec.GetDependencyGroups())
{
    Console.WriteLine($" - {dependencyGroup.TargetFramework.GetShortFolderName()}");
    foreach (var dependency in dependencyGroup.Packages)
    {
        Console.WriteLine($"   > {dependency.Id} {dependency.VersionRange}");
    }
}

Additional documentation

More information about the NuGet.Packaging library can be found on the official Microsoft documentation page and NuGet API docs.

Showing the top 20 packages that depend on NuGet.Packaging.

Packages Downloads
Microsoft.VisualStudio.Web.CodeGeneration.Utils
Contains utilities used by ASP.NET Core Code Generation packages.
54
Microsoft.VisualStudio.Web.CodeGenerators.Mvc
Code Generators for ASP.NET Core MVC. Contains code generators for MVC Controllers and Views.
46
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging.
55
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
46
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
51
NuGet.Protocol
NuGet client library.
47
NuGet.Protocol
NuGet client library.
52
NuGet.Protocol
NuGet client library.
53
NuGet.Protocol
NuGet client library.
54
NuGet.Protocol
NuGet client library.
55
NuGet.Protocol
NuGet client library.
56
NuGet.Protocol
NuGet client library.
67
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
44
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
50
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
56
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
58
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
59
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
65

.NET Framework 4.7.2

.NET 5.0

.NET Standard 2.0

Version Downloads Last updated
6.9.1 1 03/08/2024
6.8.1 1 03/08/2024
6.8.0 6 11/18/2023
6.7.1 1 03/08/2024
6.7.0 8 09/04/2023
6.6.2 1 03/08/2024
6.6.1 8 06/14/2023
6.6.0 12 06/10/2023
6.6.0-preview.3 3 06/22/2023
6.5.1 3 06/22/2023
6.5.0 33 04/03/2023
6.4.3 1 03/08/2024
6.4.2 3 06/22/2023
6.4.0 12 12/08/2022
6.3.4 1 03/08/2024
6.3.3 4 06/22/2023
6.3.1 41 10/15/2022
6.3.0 32 09/08/2022
6.2.4 6 06/22/2023
6.2.2 48 10/15/2022
6.2.1 32 09/08/2022
6.2.0 28 09/09/2022
6.1.0 38 09/10/2022
6.0.6 2 03/05/2024
6.0.5 4 06/22/2023
6.0.3-rc.1 26 10/15/2022
6.0.2 13 09/09/2022
6.0.0 25 09/12/2022
6.0.0-preview.4.243 7 09/27/2022
6.0.0-preview.3 8 09/22/2022
5.11.6 1 03/08/2024
5.11.5 5 06/22/2023
5.11.3 50 10/15/2022
5.11.2 10 09/09/2022
5.11.0 12 06/27/2022
5.10.0 22 09/09/2022
5.10.0-preview.2.7185 44 09/23/2022
5.9.3 42 10/15/2022
5.9.2 19 09/09/2022
5.9.1 56 09/08/2022
5.9.0 45 09/11/2022
5.9.0-preview.2 8 09/23/2022
5.8.1 28 09/10/2022
5.8.0 54 09/10/2022
5.8.0-preview.3.6823 29 09/24/2022
5.8.0-preview.2.6776 44 09/25/2022
5.8.0-preview.1 49 09/21/2022
5.7.3-rtm.5 45 10/15/2022
5.7.2 19 09/13/2022
5.7.1 42 09/09/2022
5.7.0 31 09/10/2022
5.7.0-rtm.6702 9 09/22/2022
5.7.0-preview.3.6653 49 09/22/2022
5.7.0-preview.2.6618 27 09/22/2022
5.7.0-preview.1.6592 7 09/26/2022
5.6.0 18 06/27/2022
5.6.0-preview.3.6558 40 09/26/2022
5.6.0-preview.2.6489 60 09/22/2022
5.6.0-preview.1.6483 7 09/22/2022
5.5.1 20 09/11/2022
5.5.0 15 09/09/2022
5.5.0-preview.2.6382 20 09/23/2022
5.5.0-preview.1.6319 21 09/26/2022
5.4.0 31 09/11/2022
5.3.1 14 09/11/2022
5.3.0 14 09/12/2022
5.3.0-rtm.6192 10 09/24/2022
5.2.1 20 09/09/2022
5.2.0 32 09/14/2022
5.1.0 23 09/11/2022
5.1.0-preview2.5965 19 09/23/2022
5.0.2 23 09/09/2022
5.0.0 51 09/08/2022
5.0.0-rtm.5867 31 09/23/2022
5.0.0-rtm.5856 24 09/22/2022
5.0.0-preview3.5800 17 09/23/2022
5.0.0-preview2.5782 24 09/21/2022
4.9.6 5 10/15/2022
4.9.5 35 09/11/2022
4.9.4 16 06/27/2022
4.9.3 35 09/10/2022
4.9.2 43 09/14/2022
4.9.2-rtm.5706 8 09/26/2022
4.9.1 39 09/12/2022
4.9.0-rtm.5658 23 09/23/2022
4.8.2 19 09/09/2022
4.8.0 11 09/10/2022
4.8.0-rtm.5362 21 09/25/2022
4.8.0-preview3.5278 56 09/25/2022
4.8.0-preview1.5156 20 09/25/2022
4.7.3 18 09/09/2022
4.7.2 12 09/09/2022
4.7.0 15 09/10/2022
4.7.0-rtm.5148 49 09/21/2022
4.7.0-rtm.5104 21 10/15/2022
4.7.0-preview4.5065 10 09/25/2022
4.7.0-preview1-4986 25 09/22/2022
4.6.4 50 09/09/2022
4.6.3 14 09/09/2022
4.6.2 20 09/10/2022
4.6.1 42 09/08/2022
4.6.0 51 09/09/2022
4.6.0-rtm-4918 36 09/23/2022
4.6.0-rtm-4825 32 09/26/2022
4.6.0-rtm-4791 43 09/24/2022
4.5.3 27 09/11/2022
4.5.2 18 09/11/2022
4.5.0 27 09/08/2022
4.5.0-rtm-4651 8 09/21/2022
4.4.3 40 09/10/2022
4.4.2 61 09/09/2022
4.4.0 40 09/11/2022
4.4.0-preview3-4475 27 09/23/2022
4.3.1 30 09/09/2022
4.3.0 17 09/09/2022
4.3.0-rtm-4324 16 09/23/2022
4.3.0-preview4 8 09/26/2022
4.3.0-preview3-4168 11 09/22/2022
4.3.0-beta1-2418 34 09/22/2022
4.2.0 38 09/12/2022
4.1.0 54 09/08/2022
4.0.0 42 09/09/2022
4.0.0-rtm-2283 44 09/21/2022
4.0.0-rtm-2265 30 09/21/2022
4.0.0-rc3 13 09/09/2022
4.0.0-rc2 23 09/09/2022
4.0.0-rc-2048 59 09/23/2022
3.5.0 12 09/09/2022
3.5.0-rc1-final 61 09/23/2022
3.5.0-beta2-1484 46 09/21/2022
3.5.0-beta-final 20 09/25/2022
3.4.4-rtm-final 63 09/22/2022
3.4.4-rc 47 09/11/2022
3.4.3 34 09/13/2022
3.3.0 19 09/12/2022
3.2.0 18 09/09/2022
1.0.0-pre-20150220044603 52 09/25/2022
1.0.0-pre-20150128082032 15 09/24/2022
1.0.0-pre-20150128071326 43 09/23/2022
1.0.0-pre-20150127085617 15 09/22/2022
1.0.0-pre-20150127072405 15 10/15/2022
1.0.0-pre-20150120213149 37 09/25/2022
1.0.0-pre-20150120004808 50 09/25/2022
1.0.0-pre-20150115030027 10 09/25/2022
1.0.0-pre-20150109221036 4 10/15/2022
1.0.0-pre-20150108074227 60 09/22/2022
1.0.0-pre-20150108073125 28 09/22/2022
1.0.0-pre-20150108010629 38 09/23/2022
1.0.0-master-50072333 12 10/15/2022
1.0.0-master-50060114 26 09/23/2022
1.0.0-master-50050213 44 09/23/2022
1.0.0-master-43652058 49 09/24/2022
1.0.0-master-43642026 23 09/23/2022
1.0.0-master-43522145 6 09/23/2022
1.0.0-master-43500148 45 09/23/2022
1.0.0-master-43450313 20 09/24/2022
1.0.0-master-43440912 18 09/23/2022
1.0.0-master-43422320 46 09/22/2022
1.0.0-master-43421050 9 09/22/2022
1.0.0-master-43421019 9 09/24/2022
1.0.0-master-43402220 12 09/24/2022
1.0.0-master-43362332 49 09/25/2022
1.0.0-master-43362323 53 09/22/2022
1.0.0-master-43250244 39 09/26/2022
1.0.0-master-43250241 48 09/23/2022
1.0.0-master-43250237 30 09/22/2022
1.0.0-master-43250218 24 09/21/2022
1.0.0-juste-43290204 26 09/25/2022