【发布时间】:2017-08-26 23:12:55
【问题描述】:
我在 VSTS 中托管了一个项目,并且正在尝试构建定义。我正在尝试执行一个在项目构建之前更新 AssemblyVersion.cs 的 powershell 脚本。当我在本地运行脚本时它工作正常,但是在构建过程中运行时,脚本运行没有错误,但 AssemblyVersion.cs 没有更新。
$regex = '\[assembly: AssemblyVersion\("(.*)"\)\]'
$assemblyInfoPath = "..\Properties\AssemblyInfo.cs"
(Get-Content $assemblyInfoPath) | ForEach-Object {
if($_ -match $regex)
{
# Get current version, and update revision number
$version = [version]$matches[1]
$newVersion = "{0}.{1}.{2}.{3}" -f $version.Major, $version.Minor, $version.Build, ($version.Revision + 1)
'[assembly: AssemblyVersion("{0}")]' -f $newVersion
Write-Host "Version updated to: $newVersion"
}
else
{
$_
}
} | Set-Content $assemblyInfoPath
Build 输出表明版本已更新,但当我在文件查看器中查看 AssemblyInfo.cs 时,它显示的是旧版本。
【问题讨论】:
-
您说的是哪个文件查看器?来自源代码控制的那个?用于文物的那个?还是构建机器上的 Windows 资源管理器?
-
@baywet 源代码控制文件查看器
-
你现在解决问题了吗?
标签: powershell azure-devops devops azure-pipelines build-definition