簡體   English   中英

試圖擊中nuget.org的生成機上的NuGet.exe包

[英]NuGet.exe pack on build machine trying to hit nuget.org

嘗試在具有.nuspec文件的.csproj上運行NuGet.exe包。

本地一切正常。 我已經在源代碼旁邊簽入了NuGet.exe。 這個特定的NuGet程序包與.nuspec文件中列出的任何其他NuGet程序包沒有任何依賴關系(即使存在,也可以在源代碼控制中使用它們)。 我期望NuGet.exe僅在構建計算機上運行,​​而不會嘗試與Web上的任何內容進行交互。

在源樹的根文件夾中簽入了一個NuGet.config文件,但是在構建計算機上運行的命令行命令似乎忽略了它。 版本似乎是2.6.40619.9041(在我的本地計算機上,與版本控制中簽入的nuget.exe相同)。

在構建計算機上,它最初因“同意”錯誤而失敗,如下所示:

Package restore is disabled by default. To give consent, open the Visual Studio Options dialog, click on Package Manager node and check 'Allow NuGet to download missing packages during build.' You can also give consent by setting the environment variable 'EnableNuGetPackageRestore' to 'true'.

這似乎很奇怪,因為在此特定示例中,沒有要還原的軟件包。 我正在嘗試構建一個沒有任何其他軟件包依賴項的軟件包。 為了克服此錯誤,我通過強制EnableNuGetPackageRestore環境變量開始運行它(在MSBuild Exec任務中),如下所示:

Command="(set EnableNuGetPackageRestore=true) & $(NuGetExe) pack $(NuGetSpecFile) $(NuGetPackArgs)"

克服同意問題后,構建機器構建日志中的下一個錯誤是:

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 168.62.224.25:443

該IP地址是nuget.org的地址。

似乎nuget.exe嘗試執行自動更新本身或其他任務之類的操作。

Q1:有什么辦法可以禁用此行為? 如果是自動更新,可以使用某種命令行選項來防止這種情況。

Q2:盡管nuget docs站點將-ConfigFile列為“ nuget pack”的有效參數,但它不會接受。 該參數應該起作用嗎?

問題3:如果所有其他方法均失敗,我如何獲取NuGet.exe來查看我們的內部ProGet服務器(它可以訪問的內部服務器),而不是嘗試查看nuget.org(被阻止的訪問)?

嗯,我已經檢查了NuGet.exe的“ bootstrapper”,而不是實際的程序。

一旦我簽入%LOCALAPPDATA%\\ NuGet中找到的版本,它便停止嘗試訪問網絡。

暫無
暫無

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

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