在VSTS上配置Nuget包以进行预发布

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VSTS上配置Nuget包以进行预发布相关的知识,希望对你有一定的参考价值。

注意如果有更简单的方法来创建预发布包,请告诉我!

我正在使用Visual Studio Team Services并设置了nuget包和发布步骤。

我有一个名为$(BuildSuffix)的构建变量,它允许我将构建特定的变量标记到构建数字格式的末尾,就像这样

$(Build.DefinitionName)_1.0 $(日期:YYYY)$(日期:MM)$(日期:DD)$(REV:.R)$(BuildSuffix)

那么我的想法就是我可以将$(BuildSuffix)设置为-beta,这样我的最终构建版本可能就是Build_1.0.20170119.2-beta

根据nuget documentation here,将-beta附加到内部版本号将创建一个预发布包。 VSTS中的构建带有-beta附加,但nuget pack阶段似乎永远不会包含它。它总是作为确切的版本号出现,但没有-beta标签。

我的nuspec文件看起来像这样:

<package >
  <metadata>
    <id>MyCompany.Data</id>
    <version>$version$</version>

我的NuGet包步骤如下所示:

enter image description here

答案

经过一番研究,把头撞在砖墙上,我弄明白了。你必须:

  • 配置本地构建代理
  • 安装Nuget CLI
  • 在Nuget Packager Task上将Path To NuGet.exe设置为NuGet CLI
  • 在同一个屏幕上设置NuGet Arguments-suffix beta
另一答案

使用新的NuGet任务(版本2),您可以指定其他构建属性,您可以直接传递自定义构建号,而不是使用-suffix NuGet参数。额外的构建属性用nuspec中提供的值替换$ token $,你可以自由地改变你想要的东西。

我也在你的屏幕截图中看到它,但我从未尝试过使用旧的NuGet任务,因为现在已经弃用了这些任务。

NuGet Packaging Task Group

也许尝试导入我在私人项目中使用的NuGet打包任务组定义会很有帮助。看看Here

以上是关于在VSTS上配置Nuget包以进行预发布的主要内容,如果未能解决你的问题,请参考以下文章

如何将 xaml 模板打包成 nuget 包以供其他开发人员重用?

VSTS 发布:使用 c# NuGet 包创建发布

在 VSTS 任务中下载 NuGet 包

在VSTS任务中下载NuGet-package

如何为NuGet创建手动VSTS版本?

Nuget 包 - 提要 (VSTS):尝试添加源时抛出异常“System.AggregateException”