如何使用.net Core构建任务构建预发布包

时间:2018-04-25 07:54:24

标签: .net-core azure-devops nuget-package

我有一个包含许多csproj的解决方案。

在我的CI中,我希望所有csproj都构建一个预发布包,内部版本号为预发布字符串,以及一个包含常规版本号的发行包。

稍后,在发布步骤中,我想自动推送所有预发布包,并且能够单独为每个发布包进行手动发布。

我的csproj文件包含

<VersionPrefix>1.8.0</VersionPrefix>
<VersionSuffix>$(VersionSuffix)</VersionSuffix>

在CLI中,我将使用dotnet pack --version-suffix foo构建预发布版本以构建版本1.8.0-foo,并使用dotnet pack而无需其他参数来构建版本1.8.0

我正在尝试使用.net Core 2.*构建任务。我在包选项/自动版本控制下看到自动版本控制,但这些似乎忽略了csproj文件中的版本前缀。

如何配置内容以便在一个任务中将预先发布的包中内置csproj,并在另一个任务中内置到另一个发行版nuget包中,只有一个版本具有版本后缀设置为内部版本号,另一个没有版本后缀?

编辑:

我尝试在其他属性中设置VersionSuffix=bar,但这给了我一个相当无意义的错误:

日志:

  

2018-05-07T10:31:27.1536721Z [command] C:\ Windows \ system32 \ chcp.com 65001

     

2018-05-07T10:31:27.1629285Z活动代码页:65001

     

2018-05-07T10:31:28.1487070Z [command]“C:\ Program Files \ dotnet \ dotnet.exe”   包D:\ a \ 1 \ s \ path \ to \ some.csproj --output D:\ a \ 1 \ a / p:Configuration = release; $ VersionSuffix = bar --verbosity详解

     

2018-05-07T10:31:28.3350467Z用于.NET Core的Microsoft(R)Build Engine版本15.6.84.34536

     

2018-05-07T10:31:28.3351167Z版权所有(C)Microsoft Corporation。保留所有权利。

     

2018-05-07T10:31:28.3351324Z

     

2018-05-07T10:31:28.4870038Z ## [错误]错误:C:\ Program Files \ dotnet \ dotnet.exe失败,返回码:1

     

2018-05-07T10:31:28.4881392Z ## [错误]尝试打包文件时出错。

1 个答案:

答案 0 :(得分:3)

只需为预发行包添加其他任务:

  1. .NET Core任务(自动包版本控制:Off
  2. .NET Core任务(自动包版本控制:Off;其他构建属性:VersionSuffix=foo