NuGet
NuGet是一个自由开源软件包管理系统。用于Microsoft开发平台。以前称NuPack。[1][2]
開發者 | Microsoft, .NET基金会 |
---|---|
首次发布 | 2010年10月5日 |
源代码库 | github |
编程语言 | C# |
平台 | .NET Framework |
类型 | 软件包管理系统 |
许可协议 | Apache License 2.0 |
网站 | www |
2010年首次发布。已经进化为一个庞大的工具与服务生态系统。[3]
概述
NuGet作为Visual Studio扩展,能够简化在Visual Studio项目中添加、更新和删除库(部署为程序包)的操作。NuGet包是打包成单个ZIP 文件,文件扩展名是.nupack
或.nupkg
,使用开放打包约定 (OPC) 格式,包含编译代码 (Dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。[4]
从Visual Studio 2012开始,缺省预安装了NuGet。NuGet 的客户端, nuget.exe
是一个 自由和开源的命令行应用程序,可以创建和使用包。 MSBuild 和 .NET Core SDK (dotnet.exe
) 可以在它存在时使用它。[4]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共享。[6]
在project名称位置右键选择Build Dependencies->Build Customizations,使得project引用程序包。于是,就会自动添加include路径、lib路径、添加相应的lib、自适应于x86/x64以及debug/release版本。
参考文献
- Haack, Phil. . [2018-09-27]. (原始内容存档于2018-12-26).
- Haack, Phil. . 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.
- karann-msft. . docs.microsoft.com. [2020-11-12]. (原始内容存档于2022-09-01) (美国英语).
- . 26 April 2013 [29 April 2013]. (原始内容存档于2018-12-26).
- . [2018-09-27]. (原始内容存档于2018-09-27).