目前,我的构建每次都会生成具有更新版本的两个包:
Release: Automatic package versioning = Use the build number
Pre-release: Additional build properties = Version=$(user.BuildFullVersion)-beta
唯一一个 nuspec 有版本占位符:
<version>$version$</version>
我想手动增加版本,重复构建会产生相同的版本,直到我手动增加它。
我如何才能实现仍具有单个 nuspec 的目标?
我可以在包任务中调整包版本吗,如下所示:
Release: $(PackageVersion) = $(PackageVersion)
Pre-release: $(PackageVersion) = $(PackageVersion)-beta
或者类似的东西。
要通过 nuspec 生成两个包,您可以使用两个 NuGet 任务(NuGet 自定义而不是 NuGet 包):
NuGet 任务:
命令:自定义
命令和参数:
pack $(Build.SourcesDirectory)\Package.nuspec -Version $(Build.BuildNumber) -OutputDirectory $(build.artifactstagingdirectory)
NuGet 任务:
命令:自定义
命令和参数:
pack $(Build.SourcesDirectory)\Package.nuspec -Version $(Build.BuildNumber) -Suffix beta -OutputDirectory $(build.artifactstagingdirectory)
如果您设置$(Build.BuildNumber)
就像格式一样MyProject-Daily_1.0.94.0
当您想将 nuget 包的版本添加为1.0.94.0
,您可以在构建定义中定义一个变量,并通过剪切子字符串来设置值$(Build.BuildNumber)
。详细步骤如下:
In 变量选项卡,添加一个变量(如version
)具有任何值(例如temp
).
Add a PowerShell 任务在使用设置的 NuGet 任务之前,
类型:内联脚本
内联脚本:
$s1=$(Build.BuildNumber).split('_')[1].split(' ')
Write-Host "##vso[task.setvariable variable=version]$s1"
然后在 NuGet 自定义任务中使用$(version)
取代$(Build.BuildNumber)
for -version
选项。例如nuget pack -version $(version)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)