在VST上配置用于预发布的Nuget pack

在VST上配置用于预发布的Nuget pack,nuget,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-artifacts,Nuget,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Artifacts,注意 如果有更简单的方法来创建预发布包,请让我知道 我正在使用VisualStudioTeamServices,并已设置nuget pack和发布步骤 我有一个名为$(BuildSuffix)的构建变量,它允许我在构建编号格式的末尾标记特定于构建的变量,如下所示 $(Build.DefinitionName)_1.0.$(日期:yyyy)$(日期:MM)$(日期:dd)$(版本:r)$(BuildSuffix) 这样的想法是,我可以将$(BuildSuffix)设置为-beta,这样我的最终构建

注意 如果有更简单的方法来创建预发布包,请让我知道

我正在使用VisualStudioTeamServices,并已设置nuget pack和发布步骤

我有一个名为
$(BuildSuffix)
的构建变量,它允许我在构建编号格式的末尾标记特定于构建的变量,如下所示

$(Build.DefinitionName)_1.0.$(日期:yyyy)$(日期:MM)$(日期:dd)$(版本:r)$(BuildSuffix)

这样的想法是,我可以将
$(BuildSuffix)
设置为
-beta
,这样我的最终构建版本可能是
build\u 1.0.20170119.2-beta

根据,将
-beta
附加到版本号将创建预发布包。内置VST附带了-beta版本,但nuget pack阶段似乎从未包含它。它总是显示为确切的版本号,但没有
-beta
标签

我的nuspec文件如下所示:

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

MyCompany.数据
$version$
我的NuGet软件包步骤如下所示:

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

经过一些研究,我的头撞到了砖墙上,我找到了方法。你必须:

  • 配置本地生成代理
  • 安装Nuget CLI
  • 在Nuget Packager任务上,将Nuget.exe的路径设置为Nuget CLI的路径
  • 将同一屏幕上的
    numget参数设置为
    -后缀beta

经过一些研究,我的头撞到了砖墙上,我找到了方法。你必须:

  • 配置本地生成代理
  • 安装Nuget CLI
  • 在Nuget Packager任务上,将Nuget.exe的路径设置为Nuget CLI的路径
  • 将同一屏幕上的
    numget参数设置为
    -后缀beta
使用新的NuGet任务(版本2),您可以指定其他生成属性,并且可以在那里直接传递自定义生成编号,而不是使用-suffix NuGet参数。其他构建属性正在用nuspec中提供的值替换$token$,您可以自由更改其中的任何内容

我在你的屏幕截图上也看到了它,但我从来没有尝试过像这样在旧的NuGet任务中使用它,因为这些任务现在已经被弃用了

尝试导入我在私人项目中使用的NuGet打包任务组定义可能会有所帮助。查看它。

对于新的NuGet任务(版本2),您可以指定其他生成属性,并且可以在那里直接传递自定义生成编号,而不是使用-suffix NuGet参数。其他构建属性正在用nuspec中提供的值替换$token$,您可以自由更改其中的任何内容

我在你的屏幕截图上也看到了它,但我从来没有尝试过像这样在旧的NuGet任务中使用它,因为这些任务现在已经被弃用了


尝试导入我在私人项目中使用的NuGet打包任务组定义可能会有所帮助。请查看。

@ting0929 MSFT不幸的是,在几天过去之前,您无法将自己的答案标记为正确答案。:)@Tingting0929 MSFT不幸的是,在几天过去之前,您无法将自己的答案标记为正确答案。:)