読者です 読者をやめる 読者になる 読者になる

C#でファイルバージョンは自動的なリビジョンを入れ、製品バージョンを手動で振る

.NET C# Windows
  • デフォルトではAssemblyVersionとAssemblyFileVersionがあるのですが、なぜか両方あると*が効きませんよね。
    • AssemblyFileVersionを指定しなければ自動的なリビジョンが振られます。
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 
// 既定値にすることができます:
[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
  • ただし、これだとファイルのプロパティから確認するときに製品バージョンにも同じ値が入ってしまいます。
    • やはり製品バージョンは手動で値を振りたい。
    • 製品バージョンはAssemblyInformationalVersionを使うと振れます。
  • 最終形
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 
// 既定値にすることができます:
[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("0.9.1.0")]

これでファイルバージョンはどんどん変わっていくけど製品バージョンは手動で変えたい時だけ変えることが出来ます。やったね!

GradleでやってるようにGitのコミットIDを入れられたらもっといいんだけどね。(まあ今日はここまでにしておこう)