0

TFS 2015 が提供する新しいビルド システムでは、アセンブリのバージョンを増やしながらソース管理にもチェックインするタスクをどのように達成しますか?

AssemblyInfo ファイルに記述されたソース管理で常に最新バージョンを利用できるようにしたいと考えています。

4

1 に答える 1

0

以下の PowerShell スクリプト (このブログから引用) は、TF_BUILD_SOURCESDIRECTORY ディレクトリにある AssemblyInfo.cs ファイルの AssemblyVersion と AssemblyFileVersion の値を変更します。

自分でテストしないでください。AssemblyInfo.cs をホストするサーバー パスを対象とする変数を追加して、TF_BUILD_SOURCESDIRECTORY をそれに置き換えてみてください。

Param(
  [string]$pathToSearch = $env:TF_BUILD_SOURCESDIRECTORY,
  [string]$buildNumber = $env:TF_BUILD_BUILDNUMBER,
  [string]$searchFilter = "AssemblyInfo.*",
  [regex]$pattern = "\d+\.\d+\.\d+\.\d+"
)
 
try
{
    if ($buildNumber -match $pattern -ne $true) {
        Write-Host "Could not extract a version from [$buildNumber] using pattern [$pattern]"
        exit 1
    } else {
        $extractedBuildNumber = $Matches[0]
        Write-Host "Using version $extractedBuildNumber"
 
        gci -Path $pathToSearch -Filter $searchFilter -Recurse | %{
            Write-Host "  -> Changing $($_.FullName)"
         
            # remove the read-only bit on the file
            sp $_.FullName IsReadOnly $false
 
            # run the regex replace
            (gc $_.FullName) | % { $_ -replace $pattern, $extractedBuildNumber } | sc $_.FullName
        }
 
        Write-Host "Done!"
    }
}
catch {
    Write-Host $_
    exit 1
}

于 2015-10-23T07:51:42.743 に答える