バージョン情報にはいろいろ種類があってややこしい
1. 通常のEXEファイルのバージョン情報
(1)アセンブリバージョン
(2)ファイルバージョン
(3)製品バージョン
これらは,プロジェクトのプロパティー – アプリケーション – アセンブリ情報
で設定する.
ファイルバージョンと製品バージョンは,どちらもファイルバージョンで設定した値が入るようだ.
2. ClickOnceで発行したときのバージョン情報
プロジェクトのプロパティー – 発行 – 発行するバージョン
で設定する.
1. 通常のEXEファイルのバージョン情報の取得方法
‘(1)アセンブリバージョンの取得
Dim strFormat As String = “Version {0}.{1:00}.{2:00}.{3:000}”
Dim strVer As String = System.String.Format(strFormat, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
‘ファイルバージョンと製品バージョンの取得
‘実行ファイルのパスを取得
Dim FilePath As String = System.Reflection.Assembly.GetExecutingAssembly().Location
‘バージョン情報を取得
Dim ver As System.Diagnostics.FileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(FilePath)
‘(2)ファイルバージョン
Dim strFileVer As String = ver.FileVersion
‘(3)製品バージョン
Dim strProductVer As String = ver.ProductVersion
2. ClickOnceで発行したときのバージョン情報の取得方法
Dim strVer As String = String.Empty
‘ClickOnceでインストールされている場合のみ取得
If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then
Dim Ver1 As Version = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion
strVer = Ver1.Major.ToString() + “.”
strVer += Ver1.Minor.ToString() + “.”
strVer += Ver1.Build.ToString() + “.”
strVer += Ver1.Revision.ToString()
End If
※ ClickOnceで発行したときのバージョン情報は開発環境から実行した場合は取得できないので,実際に発行したアプリを実行して確認する.


ヽ(´▽`)/ありがとうございます、大変助かりました
VB6から比べるとバージョン管理が増えて厄介になっていますね
これを使うには参照設定でSystem.Deploymentをあげないと使えませんでした
Importsで参照していると大変厄介なことになります
これからも有益な情報を公開していただくようお願いいたします
m(_ _)m
コンパイルごとにインクリメントするバージョンをファイルに記録しておきたかったのです。
「2. ClickOnceで発行したときのバージョン情報の取得方法」にて、所望の値が取得できました。
VB6では、簡単にできてたことができなくて、困ってました。
ありがとうございました。