これにはpowershellを使用します。lpath はソース コードへのパスで、buildnum は追加したビルド番号です。それが私が実際にこれで行うすべてです。ただし、使用可能な他のフィールドの一部またはすべてを変更または設定するのに十分なはずです。lpath を渡し、CC.NET で使用可能な環境変数からビルド番号を取得します。構成ファイルのコマンド ラインで渡す内容を変更するだけで、このスクリプトを何度も使用できます。また、実際に変更する必要がある場合は、C++ コードのリソース ファイルを変更するものもあります。
$files = Get-ChildItem $lpath -recurse -filter *AssemblyInfo.cs -name
Foreach ($file in $files)
{
$file = $lpath + "\" + $file
$fileObject=get-item $file
$fileObject.Set_IsReadOnly($False)
$sr = new-object System.IO.StreamReader( $file, [System.Text.Encoding]::GetEncoding("utf-8") )
$content = $sr.ReadToEnd()
$sr.Close()
$content = [Regex]::Replace( $content, '(?<=\[assembly: AssemblyVersion\("[0-9].[0-9].[0-9].)[0-9]?[0-9]?[0-9]', $buildnum);
$content = [Regex]::Replace( $content, '(?<=\[assembly: AssemblyFileVersion\("[0-9].[0-9].[0-9].)[0-9]?[0-9]?[0-9]', $buildnum);
$sw = new-object System.IO.StreamWriter( $file, $false, [System.Text.Encoding]::GetEncoding("utf-8") )
$sw.Write( $content )
$sw.Close()
$fileObject.Set_IsReadOnly($True)
}