在 TFS 2015 提供的新构建系统中,您将如何完成增加程序集版本并将其检入源代码控制的任务?
我希望在以 AssemblyInfo 文件编写的源代码管理中始终提供当前版本。
在 TFS 2015 提供的新构建系统中,您将如何完成增加程序集版本并将其检入源代码控制的任务?
我希望在以 AssemblyInfo 文件编写的源代码管理中始终提供当前版本。
下面的 PowerShell 脚本(引自此博客)修改 TF_BUILD_SOURCESDIRECTORY 目录中 AssemblyInfo.cs 文件中的 AssemblyVersion 和 AssemblyFileVersion 值。
不要自己测试它,您可以尝试添加一个以托管 AssemblyInfo.cs 的服务器路径为目标的变量,并用它替换 TF_BUILD_SOURCESDIRECTORY。
Param(
[string]$pathToSearch = $env:TF_BUILD_SOURCESDIRECTORY,
[string]$buildNumber = $env:TF_BUILD_BUILDNUMBER,
[string]$searchFilter = "AssemblyInfo.*",
[regex]$pattern = "\d+\.\d+\.\d+\.\d+"
)
try
{
if ($buildNumber -match $pattern -ne $true) {
Write-Host "Could not extract a version from [$buildNumber] using pattern [$pattern]"
exit 1
} else {
$extractedBuildNumber = $Matches[0]
Write-Host "Using version $extractedBuildNumber"
gci -Path $pathToSearch -Filter $searchFilter -Recurse | %{
Write-Host " -> Changing $($_.FullName)"
# remove the read-only bit on the file
sp $_.FullName IsReadOnly $false
# run the regex replace
(gc $_.FullName) | % { $_ -replace $pattern, $extractedBuildNumber } | sc $_.FullName
}
Write-Host "Done!"
}
}
catch {
Write-Host $_
exit 1
}