簡體   English   中英

如何'nuget restore'下載預發布包?

[英]How can 'nuget restore' download pre-release packages?

我們在構建環境中面臨一個問題,我們希望我們的持續集成構建能夠通過使用-dev適當地附加版本號來下載標記為預發布的“最新且最好的”NuGet包。

每當我們運行命令nuget restore ,它都無法獲取任何預發布版本。 我查看了NuGet版本控制頁面上的文檔,但是相當不方便地省略了有關如何將預發布范圍添加到它應該在packages.config文件中下載的允許版本的詳細信息。

目前,packages.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Foo" version="1.0.0" targetFramework="net35" />
</packages>

我們希望NuGet能夠至少能夠看到然后從以下列表中選擇最新版本:

  • Foo.1.0.0-dev1401291727ef87505.nupkg
  • Foo.1.0.0-dev14012918064fdf488.nupkg

遺憾的是,沒有看到預發布版本,並且恢復過程僅使用“已發布”的軟件包。 嘗試下載僅預發布包時的典型錯誤消息是:

Unable to find version '1.0.0' of package 'Foo'.

有沒有什么方法可以在packages.config文件中指定包含預發布包的一系列版本? 甚至是從.nuspec文件本身?

提前謝謝了。

AFAIK無法指定在packages.config使用預發布packages.config 而是使用-InstallPrerelease標志(PowerShell)或Prerelease標志(命令行nuget.exe)來指定應該安裝預發布/測試版軟件包而不是穩定軟件包。

請注意, Foo.1.0.0-dev1234被認為Foo.1.0.0 ,因此如果存在穩定包( Foo.1.0.0 ),那么任何Foo.1.0.0-xxxx beta / pre-release軟件包都不會安裝。 在這種情況下,您需要將beta版本升級到(比方說) Foo.1.0.1-devxxxx因為它被發現比Foo.1.0.0更新。

有關更多詳細信息,請參見此處: 如何發布nuget預發行版本包

要指明預發布版本,請務必在packages.config版本中對其進行標注:

<package id="Foo" version="1.0.0-dev1401291727ef87505" />

使用allowedVersions屬性指定版本范圍。

要檢查預發布包的更新(不僅僅是穩定),請在“管理NuGet包”對話框中,在標有“僅穩定”的下拉列表中選擇“包括預發行”。

nuget.exe restore將下載packages.config文件中指定的確切版本。 您必須使用update-package將已安裝的軟件包更新到最新版本。

暫無
暫無

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

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