nupkg - Microsoft's Package Format
Notes about the Microsoft's nupkg format, used by their development tools and third parties.
The NuGet packaging format was designed to distribute software development resources, such as source files and compiled libraries. It has since been unofficially extended and used to distribute customer facing software.
The format is called NuGet but it has the file extension .nupkg
. These two names are frequently used interchangeably.
Microsoft Clients and Servers
Microsoft have numerous development tools that create or use NuGet packages.
- dotnet CLI
- nuget.exe CLI
- Package Manager Console
- Package Manager UI
- Manage NuGet UI
- MSBuild
Microsoft have multiple servers and services that can be used to distribute NuGet packages – with differing implementation details and requirements:
- MyGet
- NuGetGallery (NuGet.org)
- NuGet.Server on WCF
- NuGet.Server on Web API
- Visual Studio Team Services (VSTS)
Coexisting Versions
The server protocol associated with the NuGet format has three versions:
- Version 1 is deprecated and no longer used;
- Version 2 is used by Chocolatey and is
OData
based; - Version 3 is used by Microsoft and is
JSON
based.
Package Origin supports both version 2 and 3.