NuGet.Packaging 6.12.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.
73
Microsoft.VisualStudio.Web.CodeGeneration.Utils
Contains utilities used by ASP.NET Core Code Generation packages.
88
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging.
95
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
72
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
80
NuGet.Protocol
NuGet client library.
75
NuGet.Protocol
NuGet client library.
77
NuGet.Protocol
NuGet client library.
81
NuGet.Protocol
NuGet client library.
91
NuGet.Protocol
NuGet client library.
92
NuGet.Protocol
NuGet client library.
95
NuGet.Protocol
NuGet client library.
96
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
71
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
78
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
81
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
88
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
89
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
93
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
99

.NET Framework 4.7.2

.NET Standard 2.0

.NET 5.0

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