exe/dllから .NET Frameworkのバージョンを確認する方法


ildasm.exe (IL 逆アセンブラー) を使用することで、exe/dllから.NET Frameworkのバージョンを確認することが可能です。

ildasmで.NET Framework(CLR) のバージョンを確認する方法

以下の手順でCLRのバージョンが確認できます。

  1. 「Visual Studio コマンドプロンプト」起動
  2. ildasm実行
  3. GUIが起動するので、exe/dllを読み込ませる。
  4. 「MANIFEST」を表示する。
  5. 先頭行のMetadataを参照

例:
// Metadata version: v4.0.30319

CLRのバージョンと.NET Frameworkのバージョンの対応は以下が参考になります。
https://blogs.msdn.microsoft.com/jpvsblog/2015/04/06/net-framework-3/

dumpbin を使用して.NET Framework(CLR) のバージョンを確認する方法

WEB上には、dumpbinを使用して.NET Framework(CLR)のバージョンを確認するが紹介されている場合がありますが、dumpbinでは正しい.NET Frameworkのバージョンは確認できないようです。

このツールで「ランタイムバージョン」と呼ばれているのは、実際にはランタイムバージョンではなく、それとほとんど関係がないです。それは誤称です。 dumpbinを使って実際のランタイムバージョンを表示することはできません。代わりに、ランタイムバージョンを「メタデータバージョン」として参照するildasmを使用できます。メタデータのバージョンはアセンブリのマニフェストにあります。 .NET 4.xの場合、ランタイムバージョンは4.0.30319です。

引用元:https://stackoverflow.com/questions/37011949/clr-runtime-version-from-clr-header