你知道如何将commit id注入文件版本,所以每个程序集都会像2.0.6565.0
这样的版本,其中6565与TFS中的C6565
提交ID有关吗?
看起来需要一些电源shell脚本。
答案 0 :(得分:0)
如果您的问题类似于您的另一篇帖子TFS 2015. the $(var.SourceLocation) variable is not available at gated-check in,想要获取在门控签到期间未签入的变更集ID,那么在单个版本中就不可能。
如果您不使用gated check in,则可以在powershell脚本中使用$Env:BUILD_SOURCEVERSION
来设置AssemblyVersion。这是以下网站上的一个脚本,你可以参考它:
答案 1 :(得分:0)
最后,我根据this post创建了自己的PS脚本。 该想法在包含汇编信息的所有文件中更新版本
$CommitId = ([string]$env:BUILD_SOURCEVERSION) -replace "[^0-9]+", ""
$AllVersionFiles = Get-ChildItem $SourceDir AssemblyInfo.cs -recurse
$regexToFindVersion = "Version\(""([0-9]+)\.([0-9]+).+"""
foreach ($file in $AllVersionFiles)
{
Write-Host "Processing " $file.FullName
(Get-Content $file.FullName) |
%{$_ -replace $regexToFindVersion, ('Version("$1.$2.0.' + $CommitId + '"') } |
Set-Content $file.FullName -Force
}
可以找到完整的脚本here。