NuGet

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

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

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。

支持多种语言的软件包:

  • .NET Framework的包
  • .NET 的包
  • C++的包,[6] ,创建时使用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共享。[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). 

外部链接

 
编译包(二进制
Linux
格式
Dpkg
RPM
tarball
  • slapt-get英语slapt-get
  • slackpkg英语slackpkg
  • netpkg英语netpkg
  • swaret英语swaret
其他
MacOS
Windows
TrueOS
Solaris
  • IPS英语Image Packaging System
  • Pkgutil英语Pkgutil
嵌入式操作系统
行動作業系統
電子遊戲機
跨平台
  • Dpkg
  • IPS英语Image Packaging System
  • OpenPKG英语OpenPKG
  • pkgsrc英语pkgsrc
  • Zero Install英语Zero Install
  • IBM SmartCloud Enterprise英语IBM cloud computing#IBM SmartCloud
  • Nix
  • wpkg英语wpkg
  • Steam
插件
Google Chrome
Firefox
  • 附加组件
Z/OS
  • SMP/E英语SMP/E
 
非编译包(源代码
Linux
MacOS
混合系统
元包管理器英语Meta package managers
Python
  • PyPI
  • pip
  • easyinstall英语Setuptools#EasyInstall
  • PyPM英语Python Package Manager
  • Anaconda
  • Enthought Canopy英语Enthought
  • 列表级条目 列表英语List of software package management systems
  • 分类 分类
  • 共享资源页面 共享资源
微軟開發工具
開發環境
  • Code
  • Express
  • Lab Management英语Visual Studio Lab Management
  • Team System Profiler英语VSTS Profiler
  • Test Professional
  • Tools for Applications英语Visual Studio Tools for Applications
  • Tools for Office英语Visual Studio Tools for Office
其他
语言
主要API和框架
(完整列表)
数据库
管理
  • Management Studio英语SQL Server Management Studio
  • Business Intelligence Development Studio英语Business Intelligence Development Studio
SQL服务
  • Analysis英语Microsoft Analysis Services
  • Reporting
  • Integration英语SQL Server Integration Services
  • Notification英语SQL Server Notification Services
其他
源代码控制
交付