在 TFS 2018 构建中使用 PowerShell 修改 .exe 的 AssemblyInfo

Modify the .exe's AssemblyInfo using PowerShell in TFS 2018 build

我想使用 PowerShell 更新我的应用程序的程序集信息,例如 TFS vNext 构建中的产品名称、文件描述。我想在构建定义中使用构建变量并将其传递给脚本。

我在这个(https://writeabout.net/2015/11/01/set-assembly-and-app-version-to-a-matching-build-name-in-tfs-2015-or-vso-build-vnext/)的帮助下做了同样的事情来更新版本号。

我需要有关脚本的帮助,以用新值替换 "Product Name" 或 "Description" 值。

您可以用一个小脚本替换名称和描述:

Param(
    [string]$filePath,
    [string]$newProductName,
    [string]$newProductDesc
)

$patternProductName = '\[assembly: AssemblyProduct\("(.*)"\)\]'
$patternProductDesc = '\[assembly: AssemblyDescription\("(.*)"\)\]'
(Get-Content $filePath) | ForEach-Object{
     if($_ -match $patternProductName){
           '[assembly: AssemblyProduct("{0}")]' -f $newProductName
     }
     elseif($_ -match $patternProductDesc){
           '[assembly: AssemblyDescription("{0}")]' -f $newProductDesc 
     }
     else{
        $_
     }
} | Set-Content $filePath

现在在构建期间调用此脚本并在参数中发送 3 个参数:AssmeblyInfo 文件路径、新产品名称和新产品描述。