我有一个包含许多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 ## [错误]尝试打包文件时出错。
答案 0 :(得分:3)
只需为预发行包添加其他任务:
Off
)Off
;其他构建属性:VersionSuffix=foo
)