裝載您自己的 NuGet 摘要
您可能想將套件發佈給有限的受眾,例如您的組織或工作組,而不是公開發佈套件。 此外,某些公司可能會想要限制其開發人員使用的第三方函式庫,因此指示這些開發人員選擇有限的套件來源,而不是 nuget.org。
針對所有這類用途,NuGet 支援以下列方式設定私人套件來源:
- 本機套件來源:套件會放置在合適的網路檔案共用上,理想情況下,使用
nuget init
和nuget add
來建立階層式資料夾結構(NuGet 3.3+)。 如需詳細資訊,請參閱 本地摘要。 - NuGet.Server:套件可透過本機 HTTP 伺服器提供。 如需詳細資訊,請參閱 NuGet.Server。
- NuGet 資源庫:套件會使用 NuGet 資源庫專案 (github.com) 裝載在因特網伺服器上。 NuGet Gallery 提供使用者管理與功能,例如豐富的 Web UI,讓您可以在瀏覽器中搜尋及瀏覽套件,類似於 nuget.org。
另外還有數個其他的 NuGet 托管產品,例如 Azure Artifacts,以及支持遠端私人源的 GitHub 套件註冊表。 以下是這類產品的清單:
- JFrog 的 Artifactory。
- Azure Artifacts,這也適用於 Team Foundation Server 2017 和更新版本。
- BaGet,這是基於 ASP.NET Core 的 NuGet V3 伺服器的開放原始碼實作。
- BaGetter,這是BaGet的開放原始碼和社群導向分支
- Bytesafe 完全受控的套件和供應鏈安全性平臺
- Cloudsmith,這是一個完全管理的套件管理 SaaS
- Feedz.io 完全受控套件管理 SaaS
- Gitea,開放原始碼、可自我裝載的 Git 服務支援 NuGet 作為 套件註冊庫
- GitHub 套件登錄
- GitLab 套件登錄
- JetBrains Space
- LiGet,這是在 docker 中 kestrel 上執行的 NuGet V2 伺服器的開放原始碼實作
- MyGet
- Nexus Repository OSS 來自 Sonatype。
- NuGet Server (開放原始碼),與 Inedo 的 NuGet Server 類似的開放原始碼實作
- NuGet Server,Inedo 的社群專案
- 從 Inedo 提供的 ProGet
- Sleet開放原始碼 NuGet V3 靜態摘要產生器
- JetBrains 的 TeamCity。
- RepoFlow,這是簡單且易於使用的套件管理平臺。
不論封裝的裝載方式為何,您都可以將套件新增至 NuGet.Config
中的可用來源清單,以存取它們。 這可以在 Visual Studio 中完成,如 套件來源中所述,或使用 nuget sources
從命令行完成。 來源的路徑可以是本機資料夾路徑名稱、網路名稱或URL。