NuGet

NuGet是一个自由开源软件包管理系统。用于Microsoft开发平台。以前称NuPack。 

2010年首次发布。已经进化为一个庞大的工具与服务生态系统。

概述 
NuGet作为Visual Studio扩展，能够简化在Visual Studio项目中添加、更新和删除库（部署为程序包）的操作。NuGet包是打包成单个ZIP 文件，文件扩展名是.nupack或.nupkg，使用开放打包约定 (OPC) 格式，包含编译代码 (Dll)、与该代码相关的其他文件以及描述性清单（包含包版本号等信息）。
从Visual Studio 2012开始，缺省预安装了NuGet。NuGet 的客户端, nuget.exe 是一个 自由和开源的命令行应用程序，可以创建和使用包。 MSBuild 和 .NET Core SDK (dotnet.exe) 可以在它存在时使用它。NuGet也集成入了SharpDevelop。

支持多种语言的软件包：
 .NET Framework的包
 .NET 的包
 C++的包, ，创建时使用CoApp辅助。

使用 
在Visual Studio中，菜单Tools->NuGet Package Manager->Manage NuGet Packages for Solution，或者在Solution名称位置右键选择Manage NuGet Packages for Solution，就打开NuGet管理器。有三个页面：Installed packages(Recent packages)，Online（Browse）、Updates。已安装的包可以uninstall。

NuGet提取程序包的内容放到程序包文件夹中（在必要时创建文件夹）。程序包文件夹在.sln文件的并列位置。如果solution的多个project中安装了同一个程序包，则仅提取该程序包一次并由各project共享。

在project名称位置右键选择Build Dependencies->Build Customizations，使得project引用程序包。于是，就会自动添加include路径、lib路径、添加相应的lib、自适应于x86/x64以及debug/release版本。

参见 
 Chocolatey
 Web平台安装程序

参考文献

外部链接 
 NuGet 简介
 
 

.NET 
微软自由软件