我们正在使用TFS 2013来管理Windows应用商店应用的源代码。不幸的是,看起来我们必须手动更改版本号。这很乏味且容易忘记。如果我们使用错误的构建两次,我们必须采取额外的步骤来部署。有没有办法在构建服务器构建时设置版本号?
答案 0 :(得分:0)
您需要在构建服务器上执行PowerShell预构建以更新构建号。作为TFS社区构建工具的一部分,有一个示例脚本。
https://curah.microsoft.com/8047/run-scripts-in-your-team-foundation-build-process
查找ApplyVersionToAssemblies.ps1。您必须自定义以更新所需的任何最安全的文件...
答案 1 :(得分:0)
我找到了解决方案。这将修改appmanifest中的版本号。我不确定消息来源,如果有人发布消息来源,我会将此添加到此评论中。
这是我添加到项目源代码管理中的powershell脚本,并将其设置为运行预构建。这对我来说就像每个版本的魅力。这正是我想要的。
# get the build number, we assume the format is Myproject.Main.CI_1.0.0.18290
# where the version is set using the TFSVersion custom build activity (see other posts)
$buildnum = $env:TF_BUILD_BUILDNUMBER.Split('_')[1]
# get the manifest file paths
$files = Get-ChildItem -Path $env:TF_BUILD_BUILDDIRECTORY -Filter "Package.appxmanifest" -Recurse
foreach ($filepath in $files)
{
Write-Host "Updating the Store App Package '$filepath' to version ' $buildnum '"
# update the identity value
$XMLfile=NEW-OBJECT XML
$XMLfile.Load($filepath.Fullname)
$XMLFile.Package.Identity.Version=$buildnum
# set the file as read write
Set-ItemProperty $filepath.Fullname -name IsReadOnly -value $false
$XMLFile.save($filepath.Fullname)
}