リリース番号管理について

3966 ワード

標準バージョン番号の物理形式は、次のコード例に示すように、句点で区切られた4つの数値で表されます....実際の使用では、一般的に前の3つのセグメントだけを使用します.すなわち..<ビルドnumber>は、外部バージョン番号と内部バージョン番号に分けられます:2.2.21.1.0プログラムに外部バージョン番号が表示されます.プログラムコンパイル前にAssemblyVersionプロパティのbuild numberセグメントを現在の内部バージョン番号で更新し、非プログラムファイル(リソースなど)はパッケージ、バックアップ、ラベル付け時に内部バージョン番号を統一的に使用します.
各Assemblyは3つのVersion AssemblyFileVersionを含む:win 32リソースに格納され、CLRはこのバージョン番号に関心を持たない.AssemblyInformationnalVersion:win 32リソースに格納され、CLRはこのバージョン番号に関心を持たない.このバージョン番号はAssemblyを含む製品のバージョンAssemblyVersion:AssemblyDefmanifest metadata tableに格納され、CLRはこのバージョン番号を使用する
ツールのサポート:CSC.exeとAL.exeは、buildのたびにAssemblyVersionを自動的に追加できますが、慎重に使用してください.AssemblyのAssemblyVersionを変更すると、このAssemblyを参照する他のAssemblyが動作しなくなります.
VSではそれぞれのために.NetPorjectはAssemblyInfoを生成する.csは、関連情報を設定ことができる.[assembly:AssemblyVersion("1.0.0.0")][assembly:AssemblyFileVersion("1.0.1.0")][assembly:AssemblyVersion("1.0.*")]を使用すると、プログラム変更のたびにbuildまたはrebuildが変更されると、assemblyのAssemblyVersionのBuild NumberおよびReversionNumberが自動的に増加する.ReversionNumberは毎回変化し、Build Numberは日付の変化によって変化する.
solution内のすべてのプロジェクトのAssemblyVersionを明示的に設定できるツールはありますか?
プログラムによってバージョン情報を取得する://==Get File Version System.Diagnostics.FileVersionInfo.GetVersionInfo
//==Get Assembly Version AssemblyName assName = Assembly.GetExecutingAssembly().GetName(); string version = assName.Version.ToString();
win 32のexeまたはdllについて、Exploreでプロパティ(Properties->Version)を表示すると、File Version Product Versionが表示されます.
ひとつNetAssemblly Exploreでプロパティ(Properties->Version)を表示すると、Assembly Version(AssemblyVersion対応)File Version(AssemblyFileVersion対応)Product Version(AssemblyInformationnalVersion対応、指定しない場合AssemblyFileVersion対応)が表示されます.
vcバージョン番号を変更するスクリプト
 

Sub IncResVersion()
'DESCRIPTION: Build active project and increase version counter in rc script. Map it to F7 for ease of use. (c)'98 Th. Mahler

' open the project's resource script:
Documents.Open (ActiveProject.Name + ".rc"), "Text"
Windows(ActiveProject.Name + ".rc").Active = True
' find line with FileVersion Information:
ActiveDocument.Selection.FindText "VALUE ""FileVersion"",", dsMatchForward + dsMatchFromStart + dsMatchCase

' move to eol and then to end of build number:
ActiveDocument.Selection.EndOfLine
ActiveDocument.Selection.CharLeft dsMove, 3

' mark Build Number and store in strVersion
ActiveDocument.Selection.WordLeft 1 'dsExtend does not work in my VisualStudio???
Dim strVersion
strVersion = ActiveDocument.Selection.Text

' Increase Version and write back to file:
ActiveDocument.Selection.ReplaceText strVersion , strVersion+1

'close RC file
ActiveDocument.Close()

'build active project
ExecuteCommand "BuildToggleBuild"
Documents.SaveAll True

End Sub

ソース:
http://recordsome.blogsome.com/2006/06/
www.codeguru.com/Cpp/V-S/devstudio_macros/article.php/c3183