維基百科,自由的百科全書
NuGet是一個自由開源軟體包管理系統。用於Microsoft開發平台。以前稱NuPack。[4][5]
2010年首次發布。已經進化為一個龐大的工具與服務生態系統。[6]
NuGet作為Visual Studio擴展,能夠簡化在Visual Studio項目中添加、更新和刪除庫(部署為程序包)的操作。NuGet包是打包成單個ZIP 文件,文件擴展名是.nupack
或.nupkg
,使用開放打包約定 (OPC) 格式,包含編譯代碼 (Dll)、與該代碼相關的其他文件以及描述性清單(包含包版本號等信息)。[7]
從Visual Studio 2012開始,預設預安裝了NuGet。NuGet 的客戶端, nuget.exe
是一個 自由和開源的命令行應用程式,可以創建和使用包。 MSBuild 和 .NET Core SDK (dotnet.exe
) 可以在它存在時使用它。[7]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共享。[9]
在project名稱位置右鍵選擇Build Dependencies->Build Customizations,使得project引用程序包。於是,就會自動添加include路徑、lib路徑、添加相應的lib、自適應於x86/x64以及debug/release版本。