[英]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能夠至少能夠看到然后從以下列表中選擇最新版本:
遺憾的是,沒有看到預發布版本,並且恢復過程僅使用“已發布”的軟件包。 嘗試下載僅預發布包時的典型錯誤消息是:
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.