Обновление информации о сборке с помощью powershell - PullRequest
0 голосов
/ 25 июня 2018

Я хочу обновить все assemblyinfo.cs в каталоге проверки teamcity.Порекомендовал этот пост Получить и заменить AssemblyVersion из AssemblyInfo.cs .Похоже, какая-то логика отсутствует и файл не обновляется.Он должен обновить строку [assembly: AssemblyVersion ("1.4.0.0")] до [assembly: AssemblyVersion ("1.4.0.% Build.counter%")]

$BuildCounter = "%build.counter%"
$pattern = '\[assembly: AssemblyVersion\("(.*)"\)\]'enter code here
Get-ChildItem -r -filter AssemblyInfo.cs | foreach-object { $name = $_.FullName}
{

(get-content $name ) | ForEach-Object{
    if($_ -match $pattern){
        # We have found the matching line
        # Edit the version number and put back.
        $fileVersion = [version]$matches[1]
        $newVersion = "{0}.{1}.{2}.{3}" -f $fileVersion.Major, $fileVersion.Minor, $fileVersion.Build, $BuildCounter 
        '[assembly: AssemblyVersion("{0}")]' -f $newVersion
    } else {
        # Output line as is
        $_
    }
} | Set-Content $name

}`enter code here`

1 Ответ

0 голосов
/ 26 июня 2018

Никогда не возражай, просто получилось, похоже, проблема с синтаксисом

$BuildCounter = "build.counter"
$pattern = '\[assembly: AssemblyVersion\("(.*)"\)\]'
$AssemblyFiles = Get-ChildItem . AssemblyInfo.cs -rec


foreach ($file in $AssemblyFiles)

{

(Get-Content $file.PSPath) | ForEach-Object{
    if($_ -match $pattern){
        # We have found the matching line
        # Edit the version number and put back.
        $fileVersion = [version]$matches[1]
        $newVersion = "{0}.{1}.{2}.{3}" -f $fileVersion.Major, $fileVersion.Minor, $fileVersion.Build, $BuildCounter 
        '[assembly: AssemblyVersion("{0}")]' -f $newVersion
    } else {
        # Output line as is
        $_
    }
} | Set-Content $file.PSPath

}
Write-Host "##teamcity[buildNumber '$newVersion']"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...