首页 > 解决方案 > 如何通过 PowerShell 使用 Azure DevOps 的内部版本号更新 AssemblyInfo.cs 中的 AssemblyVersion 号?

问题描述

我想用 Azure DevOps (VSTS) 的内部版本号更新 AssemblyInfo.cs 中的版本号。

有谁知道我如何通过 PowerShell 做到这一点?

标签: powershellazure-devopscontinuous-integrationazure-pipelinescontinuous-deployment

解决方案


最好的方法是使用Assembly Info$(Build.BuildNumber) Extension,并在版本字段中使用变量。

但是,如果您想使用自己的 PowerShell 脚本,可以使用以下脚本:

$buildNumber = "$env:Build_BuildNumber"
$pattern = '\[assembly: AssemblyVersion\("(.*)"\)\]'
$AssemblyFiles = Get-ChildItem . AssemblyInfo.cs -rec

foreach ($file in $AssemblyFiles)
{

(Get-Content $file.PSPath) | ForEach-Object{
    if($_ -match $pattern){
        '[assembly: AssemblyVersion("{0}")]' -f $buildNumber
    } else {
        # Output line as is
        $_
    }
} | Set-Content $file.PSPath

}

推荐阅读