.net core 如何使用.net核心构建任务构建预发布包

.net core 如何使用.net核心构建任务构建预发布包,.net-core,azure-devops,nuget-package,.net Core,Azure Devops,Nuget Package,我有一个解决方案,其中包含许多csproj 在我的CI中,我希望所有csproj同时生成一个预发布包(版本号为预发布字符串)和一个具有常规版本号的发布包 稍后,在发布步骤中,我希望自动推送所有预发布包,并能够分别为每个发布包进行手动发布 我的csproj文件包含 <VersionPrefix>1.8.0</VersionPrefix> <VersionSuffix>$(VersionSuffix)</VersionSuffix> 1.8.0 $(

我有一个解决方案,其中包含许多
csproj

在我的CI中,我希望所有csproj同时生成一个预发布包(版本号为预发布字符串)和一个具有常规版本号的发布包

稍后,在发布步骤中,我希望自动推送所有预发布包,并能够分别为每个发布包进行手动发布

我的
csproj
文件包含

<VersionPrefix>1.8.0</VersionPrefix>
<VersionSuffix>$(VersionSuffix)</VersionSuffix>
1.8.0
$(VersionSuffix)
在CLI中,我将使用
dotnet-pack--version后缀foo
构建一个预发布版本,以构建版本
1.8.0-foo
,并使用
dotnet-pack
,而不使用其他参数来构建版本
1.8.0

我正在尝试使用
.netcore2.*
构建任务。我在pack options/automatic versioning下看到了自动版本控制,但它们似乎忽略了
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” 包D:\a\1\s\path\to\some.csproj——输出D:\a\1\a/p:Configuration=release$VersionSuffix=bar——详细的详细信息

2018-05-07T10:31:28.3350467Z Microsoft(R)针对.NET Core的构建引擎版本15.6.84.34536

2018-05-07T10:31:28.3351167Z版权所有(C)微软公司。版权所有

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###[错误]尝试打包文件时出错


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

  • .NET核心任务(自动包版本控制:
    关闭
  • .NET核心任务(自动包版本控制:
    Off
    ;其他生成属性:
    VersionSuffix=foo

  • 你解决了他的问题吗?@Martijn其他构建属性的值是
    VersionSuffix=foo
    ,而不是
    $VersionSuffix=foo
    (删除
    $
    )啊,这就解决了问题。好的,但是我如何从构建环境中替换该foo呢。我尝试了
    VersionSuffix=CI-$(日期:yyyyMMdd)-(Rev:r)
    ,但它只是逐字插入。