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

NuGet
NuGet project logo
開發者Microsoft, .NET基金会
首次发布2010年10月5日 (2010-10-05)
当前版本6.1[1](2022年2月15日,​2年前​(2022-02-15
源代码库github.com/NuGet/Home
编程语言C#
平台.NET Framework
类型软件包管理系统
许可协议Apache License 2.0
网站www.nuget.org/ 编辑维基数据

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

概述

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

支持多种语言的软件包:

使用

在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共享。[7]

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

参见

参考文献

  1. ^ NuGet 6.1 Release Notes. nuget.org. [2022-09-07]. (原始内容存档于2022-09-01). 
  2. ^ Haack, Phil. NuGet. [2018-09-27]. (原始内容存档于2018-12-26). 
  3. ^ Haack, Phil. Changing the NuPack Project Name. OuterCurve Foundation. 21 October 2010 [6 November 2010]. (原始内容存档于2010-10-25). 
  4. ^ An Overview of the NuGet Ecosystem页面存档备份,存于互联网档案馆). CodeProject (18 August 2013). Retrieved on 6 February 2015.
  5. ^ 5.0 5.1 karann-msft. What is NuGet and what does it do?. docs.microsoft.com. [2020-11-12]. (原始内容存档于2022-09-01) (美国英语). 
  6. ^ NuGet for C++. 26 April 2013 [29 April 2013]. (原始内容存档于2018-12-26). 
  7. ^ Phil Haack:《NuGet: 使用 NuGet 管理项目库》,MSDN杂志,2011年11月. [2018-09-27]. (原始内容存档于2018-09-27). 

外部链接