Jenkins构建项目时,可以执行Powershell脚本,实现构建、打包等功能。现需要批量更新项目文件 AssemblyInfo.cs 中版本信息。
<#
.SYNOPSIS
批量修改版本号
.DESCRIPTION
批量修改 AssemblyInfo.cs 文件中 AssemblyVersion 和 AssemblyFileVersion
.PARAMETER version
项目版本号
#>
param(
[Parameter(Mandatory=$true)]
[string]$version
)
#根据文件路径,找到项目根路径
$currentworkdir=$rawworkdir=Get-Location
if($rawworkdir.Path -like "*\build" ){
Set-Location ..
$currentworkdir=Get-Location
}
#遍历当前目录下所有的AssemblyInfo.cs文件
$files = Get-ChildItem -path "$currentworkdir\*\AssemblyInfo.cs" -recurse
foreach ($file in $files) {
$otherLines = get-content -path $file | Select-String "AssemblyVersion", "AssemblyFileVersion","AssemblyCopyright" -Notmatch -Encoding unicode
# clear-content -path $file
$newVerLine = "[assembly: AssemblyVersion(""$version"")]"
$newFileVerLine = "[a