【问题标题】:How do I build a pre-release package with the .net Core build task如何使用 .net Core 构建任务构建预发布包
【发布时间】:2018-04-25 07:54:24
【问题描述】:

我有一个包含多个 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 [命令]C:\Windows\system32\chcp.com 65001

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

2018-05-07T10:31:28.1487070Z [命令]“C:\Program Files\dotnet\dotnet.exe” pack 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 ##[error]Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 1

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

【问题讨论】:

  • 你解决他的问题了吗?

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


【解决方案1】:

只需为预发布包添加额外任务:

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

【讨论】:

  • @Martijn Additional build properties 的值是VersionSuffix=foo 而不是$VersionSuffix=foo(去掉$
  • 啊,解决了。
  • 好的,但是我如何从构建环境中替换那个 foo。我试过VersionSuffix=CI-$(Date:yyyyMMdd)-$(Rev:r),但它只是逐字插入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 2020-11-25
  • 2017-03-28
相关资源
最近更新 更多