簡體   English   中英

使用“ nuget.exe恢復解決方案”時,軟件包文件夾中的版本號錯誤

[英]Wrong version number in packages folder when using “nuget.exe restore solution”

在某些主機上,當使用nuget.exe restore solution.sln強制在構建之前nuget.exe restore solution.sln軟件包時,與Nuget可視插件相比,我觀察到該命令的行為並不相同。

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

因此,例如,除了擁有:

/packages/my_package.1.57.0/...

我有:

/packages/my_package.1.57.0.0/...

最后,它會導致構建失敗,因為在內部,存儲在.vcxproj中的目標正在尋找不包含構建號的第一個路徑。 我不知道它是否與觀察到的行為有關,但是這些程序包是使用CoApp構建的本地C ++程序包

如果不是在同一主機上使用nuget.exe,而是使用Visual 2013的程序包管理器還原功能,則可以正常工作,並且使用不包含內部版本號的路徑正確復制了程序包。 然后構建就可以了。

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

對於我檢查過的組件:

nuget版本:2.8.50926.602

視覺2013版本:12.0.31101.00更新4

在工作主機和不工作主機上,它們是相同的。 那還剩下什么呢?

最后,它出現在以下簡單情況下(不幸的是,我無法重現該問題):

  • 遇到麻煩的地方哪里有boost庫的自制軟件包。
  • 其中一些軟件包可能具有相同的名稱,但nuget.org上的內容和版本編號不同

在出現問題的工作站上,我可以通過以下方法解決此問題:

  • 從存儲庫列表中禁用nuget.org
  • 最重要的是=>清除nuget緩存!

即使我無法復制:我對這種情況也很有信心,因為當查看包裝內的東西時,我發現里面的東西與我制作的東西不同。 因此,該軟件包已從其他位置下載。

暫無
暫無

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

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