1

在某些主機上,使用nuget.exe restore solution.sln 在構建之前強制執行軟件包恢復時,我發現該命令的行爲與Nuget visual插件相比並不完全相同。當使用「nuget.exe恢復解決方案」時,軟件包文件夾中的版本號錯誤

在某些主機上,命令版本會將版本號(默認值0)附加到版本號 ,導致包文件夾中的路徑包含該版本號。

因此,例如,而不是具有:

/packages/my_package.1.57.0/... 

我來代替:

/packages/my_package.1.57.0.0/... 

最後,這導致構建失敗,因爲在內部, 目標被保存在裏面的。 vcxproj正在尋找不包含內部版本號的第一個路徑。 我不知道這是否是相關的observered行爲,但這些包是使用CoApp

如果不是使用同一臺主機上nuget.exe,我使用的軟件包管理器從視覺恢復functionnality本地C++編譯包2013,它工作良好,並且軟件包可以正確地複製到不包含內部版本號的路徑中。 然後建立好。

由於nuget.exe在某些主機上工作,而不是在其他主機上工作,所以我懷疑某個組件的不同版本或不同的默認設置。

因爲我已經檢查了組件:

的NuGet版本:2.8.50926.602

視覺2013版本:12.0.31101.00更新4

而且他們都是主機工作,作爲相同唐「T。 那剩下什麼了?

回答

0

最後,結束了以下簡單的場景(不幸的是,我不能重現該問題):

  • 包麻煩,其中Boost庫的自制包。
  • 一些軟件包可能已經可以用同一個名稱,但編號在不同 內容和版本nuget.org

在工作站上有我能夠解決它的問題:

  • 從回購列表中禁用nuget.org
  • 並且最重要的是=>清除nuget緩存!

即使我無法重現:我對這種情況非常有信心,因爲當看到包內部時,我看到內容與我創建的內容不同。所以這個軟件包已經從別處下載了。

相關問題