NuGet.Packaging 6.10.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.
63
Microsoft.VisualStudio.Web.CodeGeneration.Utils
Contains utilities used by ASP.NET Core Code Generation packages.
73
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging.
77
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
63
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
68
NuGet.Protocol
NuGet client library.
63
NuGet.Protocol
NuGet client library.
67
NuGet.Protocol
NuGet client library.
68
NuGet.Protocol
NuGet client library.
69
NuGet.Protocol
NuGet client library.
74
NuGet.Protocol
NuGet client library.
77
NuGet.Protocol
NuGet client library.
79
NuGet.Protocol
NuGet client library.
80
NuGet.Protocol
NuGet client library.
83
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
64
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
70
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
79
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
85

.NET Framework 4.7.2

.NET 5.0

.NET Standard 2.0

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