簡體   English   中英

在Visual Studio外部管理Nuget包

[英]Manage Nuget Packages Outside Visual Studio

我的組織希望隔離沒有網絡訪問權限的網絡上的所有開發機器。

我發現這篇文章給出了一些nuget主機產品,以便可以脫機使用這些軟件包。

我的問題是,我找不到管理軟件包更新的方法,因為具有Internet訪問權限的計算機不會安裝Visual Studio。

我正在尋找是否有一種工具可以讀取存儲所有nupkg文件的文件夾並檢查是否有較新版本並下載它,或者讀取手動創建的packages.config文件來檢查較新版本並將其下載到文件夾中。

有誰知道如何以這種方式管理nuget包? 我花了最后一個星期試圖找到一種方法,但我沒有看。

有誰知道如何以這種方式管理nuget包?

根據NuGet CLI參考

如果這些引用已經存在,則update命令還會更新項目文件中的程序集引用。

因此,當我們使用NuGet.exe更新程序包時,我們不僅需要packages.config,還需要解決方案/項目,否則,您將得到以下錯誤:

“無法找到'D:\\ NuGetServer \\ packages.config'的項目文件

您可以從安裝了Visual Studio的計算機中復制一個簡單的項目,然后使用以下命令行更新package.config文件中的nuget軟件包:

nuget update "YourProjectPath\packages.config"

但是默認情況下,NuGet會將軟件包更新到解決方案文件夾下的packages文件夾中,因此我們需要在更新軟件包之前將packages文件夾更改為所有nupkg文件存儲的文件夾。

詳細步驟

  1. nuget.org下載nuget.exe ,將其設置為本地計算機。

  2. 在路徑%appdata%下創建一個NuGet文件夾,添加NuGet.Config文件,然后通過repositoryPath更改packages文件夾,只需將其設置為“ D:\\NuGetServer ”:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> </packageSources> <config> <add key="repositoryPath" value="D:\\NuGetServer" /> </config> </configuration> 
  1. 從其他計算機復​​制解決方案,將軟件包添加到package.config文件中:

     <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.1.0" targetFramework="net45" /> <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" /> <package id="NUnit" version="3.7.0" targetFramework="net45" /> </packages> 
  2. 打開一個CMD文件,在步驟1中切換到NuGet的存儲路徑,然后使用update命令:

在此處輸入圖片說明

您將在packages.config中找到軟件包。這些軟件包已更新為最新版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM