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).