[英]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文件存儲的文件夾。
詳細步驟 :
在路徑%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>
從其他計算機復制解決方案,將軟件包添加到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>
打開一個CMD文件,在步驟1中切換到NuGet的存儲路徑,然后使用update命令:
您將在packages.config中找到軟件包。這些軟件包已更新為最新版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.