NuGet
NuGet是一个自由开源软件包管理系统。用于Microsoft开发平台。以前称NuPack。[2][3]
开发者 | Microsoft, .NET基金会 |
---|---|
首次发布 | 2010年10月5日 |
当前版本 | 6.1[1](2022年2月15日 ) |
源代码库 | github |
编程语言 | C# |
平台 | .NET Framework |
类型 | 软件包管理系统 |
许可协议 | Apache License 2.0 |
网站 | www |
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版本。
参见
参考文献
- ^ NuGet 6.1 Release Notes. nuget.org. [2022-09-07]. (原始内容存档于2022-09-01).
- ^ Haack, Phil. NuGet. [2018-09-27]. (原始内容存档于2018-12-26).
- ^ Haack, Phil. Changing the NuPack Project Name. OuterCurve Foundation. 21 October 2010 [6 November 2010]. (原始内容存档于2010-10-25).
- ^ An Overview of the NuGet Ecosystem (页面存档备份,存于互联网档案馆). CodeProject (18 August 2013). Retrieved on 6 February 2015.
- ^ 5.0 5.1 karann-msft. What is NuGet and what does it do?. docs.microsoft.com. [2020-11-12]. (原始内容存档于2022-09-01) (美国英语).
- ^ NuGet for C++. 26 April 2013 [29 April 2013]. (原始内容存档于2018-12-26).
- ^ Phil Haack:《NuGet: 使用 NuGet 管理项目库》,MSDN杂志,2011年11月. [2018-09-27]. (原始内容存档于2018-09-27).