在我们的构建环境中,我们遇到了一个问题,我们希望通过持续集成构建下载最新,最好的NuGet包,并通过适当地附加版本号-dev
来标记为预发布。'nuget restore'如何下载预发布软件包?
无论何时我们运行命令nuget restore
,它都无法获取任何预发布版本。我查看了NuGet Versioning页面上的文档,但它很不方便地忽略了如何将预发布范围添加到它应该在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文件本身?
非常感谢提前。
你使用的是什么版本的NuGet客户端?什么服务器端软件(NuGet Gallery?Artifactory?MyGet?ProGet?) 这不仅仅是使用'-IncludePrerelease'标志吗? –
我们使用的是NuGet客户端版本2.7.41115.310。在服务器端,我们在构建服务器上配置了一个简单的文件共享。这更多的是能够在我们的packages.config文件中提供一个基本的版本号,并且让NuGet能够从那里得到它。如果我们在packages.config中提供一个非标签/发行版本号,即使使用'IncludePrerelease',它也不会更新到预发行版包,从我迄今为止所做的测试中。 –