potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

C# 実行ファイルやDLL(PE形式のファイル)からバージョン情報を取得する

実行ファイルやDLL(PE形式のファイル)のバージョン情報は.NET Frameworkや.NET Coreの標準機能で取得することができます。具体的にはSystem.Diagnostics名前空間FileVersionInfoクラスを使用します。

.NET Coreのみ(トップレベステートメントC# 9以降)

using System;
using System.Diagnostics;

var verInfo = FileVersionInfo.GetVersionInfo(@"C:\Windows\Notepad.exe");
Console.WriteLine("Notepad.exe");
Console.WriteLine($"会社名:{verInfo.CompanyName}");
Console.WriteLine($"製品バージョン:{verInfo.ProductVersion}");

.NET Frameworkでも有効

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        var verInfo = FileVersionInfo.GetVersionInfo(
            @"C:\Windows\Notepad.exe");
        Console.WriteLine("Notepad.exe");
        Console.WriteLine($"会社名:{verInfo.CompanyName }");
        Console.WriteLine($"製品バージョン:{verInfo.ProductVersion}");
    }
}

2021/3/10:この記事は別のブログで投稿した記事を移動したものです。