NuGet.Packaging 6.8.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
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
52
Microsoft.DotNet.Cli.Utils
Package Description
51
Microsoft.DotNet.Cli.Utils
Microsoft.DotNet.Cli.Utils
51
Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore
Contains Entity Framework Core Services used by ASP.NET Core Code Generators.
50
Microsoft.VisualStudio.Web.CodeGeneration.Utils
Contains utilities used by ASP.NET Core Code Generation packages.
49
Microsoft.DotNet.ProjectModel
Types to model a .NET Project
48
NuGet.Protocol
NuGet client library.
47
Microsoft.VisualStudio.Web.CodeGenerators.Mvc
Code Generators for ASP.NET Core MVC. Contains code generators for MVC Controllers and Views.
47
NuGet.Protocol.Core.v3
NuGet Protocol for 3.1.0 servers
47
Microsoft.DotNet.Scaffolding.Shared
Contains interfaces for Project Model and messaging for scaffolding.
47
Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore
Contains Entity Framework Core Services used by ASP.NET Core Code Generators.
46
NuGet.Protocol
NuGet client library.
46
NuGet.Packaging.Core
The (former home to) core data structures for NuGet.Packaging. Contains only the type forwarders to the new assembly.
46
NuGet.Protocol
NuGet's implementation for interacting with feeds. Contains functionality for all feed types.
46
NuGet.Protocol.Core.v3
NuGet Protocol for 3.1.0 servers
45
Microsoft.VisualStudio.Web.CodeGenerators.Mvc
Code Generators for ASP.NET Core MVC. Contains code generators for MVC Controllers and Views.
45
Microsoft.VisualStudio.Web.CodeGeneration
Contains the CodeGenCommand that finds the appropriate code generator and invokes it from project dependencies.
45

.NET Framework 4.7.2

.NET 5.0

.NET Standard 2.0

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