none
CLRのバージョンについて RRS feed

  • 質問

  • お世話になります。

    マネージモジュールをildasmで読み込んでメタ表示をさせて、CLRのバージョンを探してたのですが
    見つかりません。

    ildasmから参照できるものでしょうか。

    教えてください。
    2009年10月30日 9:17

回答

  • ildasm から参照できます。

     Suzanne Cook's .NET CLR Notes : Determining an Image’s CLR Version
     http://blogs.msdn.com/suzcook/archive/2003/06/20/57191.aspx

    From the command line, starting in v2.0, ildasm.exe will show it if you double-click on "MANIFEST" and look for "Metadata version".
    • 回答としてマーク OTAKA 2009年11月2日 4:24
    2009年10月30日 9:27
  • ildasm 以外の手法も参考までにということでリンクをはっておきます。

    DLLやEXE ファイルが必要としている .NET Frameworkのバージョンの調査方法 - .NET Framework
    http://www.ailight.jp/blog/sha256/archive/2005/08/07/9251.aspx
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク OTAKA 2009年11月2日 4:24
    2009年10月30日 14:19
    モデレータ
  • ご返事ありがとうございます。

    VS2003で作成したモジュールを、totojo さん、Azuleanさんから頂いた手法で調べてみました。

    1.ildasam
     // Metadata version: v1.1.4322

    2.dumpbin

      clr Header:

                  48 cb
                2.00 runtime version
                21A4 [     658] RVA [size] of MetaData Directory


    これはCLRバージョンが異なっているように思うのですが、どう理解したらよいでしょうか。


    http://www.ailight.jp/blog/sha256/archive/2005/08/07/9251.aspx

    を見たら、以下のように記述されてますので、ともに .NET Framework 1.1であってるんじゃないですか。

    -----------------------------------------------------

    以下のように、/clrheader というパラメータと調べたいファイル名をつけるだけです。

    例 : dumpbin.exe /clrheader Hoge.dll

    標準出力の内容の中の"clr Header:"のセクション → "runtime version"が
    .NET Framework のバージョンを(間接的に)表しています。

      2.00 : .NET Framework 1.1
      2.05 : .NET Framework 2.0
    -------------------------------------------------------

    • 回答としてマーク OTAKA 2009年11月2日 4:24
    2009年11月2日 1:29
    モデレータ

すべての返信

  • ildasm から参照できます。

     Suzanne Cook's .NET CLR Notes : Determining an Image’s CLR Version
     http://blogs.msdn.com/suzcook/archive/2003/06/20/57191.aspx

    From the command line, starting in v2.0, ildasm.exe will show it if you double-click on "MANIFEST" and look for "Metadata version".
    • 回答としてマーク OTAKA 2009年11月2日 4:24
    2009年10月30日 9:27
  • ildasm 以外の手法も参考までにということでリンクをはっておきます。

    DLLやEXE ファイルが必要としている .NET Frameworkのバージョンの調査方法 - .NET Framework
    http://www.ailight.jp/blog/sha256/archive/2005/08/07/9251.aspx
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク OTAKA 2009年11月2日 4:24
    2009年10月30日 14:19
    モデレータ
  • ご返事ありがとうございます。

    VS2003で作成したモジュールを、totojo さん、Azuleanさんから頂いた手法で調べてみました。

    1.ildasam
     // Metadata version: v1.1.4322

    2.dumpbin

      clr Header:

                  48 cb
                2.00 runtime version
                21A4 [     658] RVA [size] of MetaData Directory


    これはCLRバージョンが異なっているように思うのですが、どう理解したらよいでしょうか。


    2009年11月2日 1:08
  • ご返事ありがとうございます。

    VS2003で作成したモジュールを、totojo さん、Azuleanさんから頂いた手法で調べてみました。

    1.ildasam
     // Metadata version: v1.1.4322

    2.dumpbin

      clr Header:

                  48 cb
                2.00 runtime version
                21A4 [     658] RVA [size] of MetaData Directory


    これはCLRバージョンが異なっているように思うのですが、どう理解したらよいでしょうか。


    http://www.ailight.jp/blog/sha256/archive/2005/08/07/9251.aspx

    を見たら、以下のように記述されてますので、ともに .NET Framework 1.1であってるんじゃないですか。

    -----------------------------------------------------

    以下のように、/clrheader というパラメータと調べたいファイル名をつけるだけです。

    例 : dumpbin.exe /clrheader Hoge.dll

    標準出力の内容の中の"clr Header:"のセクション → "runtime version"が
    .NET Framework のバージョンを(間接的に)表しています。

      2.00 : .NET Framework 1.1
      2.05 : .NET Framework 2.0
    -------------------------------------------------------

    • 回答としてマーク OTAKA 2009年11月2日 4:24
    2009年11月2日 1:29
    モデレータ
  • ご返事ありがとうございます。

    申し訳ないです。
    ちゃんと読んでいませんでした。

    2.00をCLR2.00と早とちりをしていました。

    申し訳ございませんでした。

    2009年11月2日 4:24