none
アプリが必要とする.NET Frameworkのバージョンを確認したい RRS feed

  • 質問

  • こんにちは

    他人の作った.NETアプリケーション(exe)が必要とするFrameworkのバージョンを確認する方法はありますか?

    または、実行している.NETアプリケーション(exe)が利用しているFrameworkのバージョンを確認する方法は?

    以上

    2012年1月25日 2:09

回答

  • 微妙にややこしい話です。.NET Frameworkのバージョン番号の意味を知ることから始まります。

    とりあえず後者についてですが、Clrver.exeを使えば見れます。これでわかるのは 1.0 / 1.1 / 2.0 / 4.0 なだけです。しかし.NET Frameworkには3.0 / 3.5もあります。あと 3.5 SP1 Client Profileと4.0 Client Profileもあります。細かいことを言うと2.0で動かなくて2.0 SP1が必要なアプリもあります。

    逆に質問ですが「バージョン」のどこまで知りたいのでしょうか?

    追記:

    app.configがあればその中にアプリケーション作者が指定する.NET Frameworkバージョンが<supportedRuntime> 要素に書かれていることもあります。しかしわかる範囲はClrver.exeと同じです。

    • 編集済み 佐祐理 2012年1月25日 2:49
    • 回答としてマーク ten10 2012年1月25日 7:35
    2012年1月25日 2:35
  • Dependency Walker的に実行する前に分かればなお良かったのですが。

     

    SDK ツールが必要ですが

    ildasm /text /noil /metadata=MDHEADER 調べたいファイル

    または

    dumpbin /clrheader 調べたいファイル

    として、image version (dumpbin の場合は runtime version を見るという手もありかもしれません。
    ※ もちろん、ildasm は、普通に起動してエクスプローラから調べたいファイルをドロップしても OK です

     



    • 編集済み K. Takaoka 2012年1月25日 8:12
    • 回答としてマーク ten10 2012年1月26日 6:45
    2012年1月25日 8:09

すべての返信

  • 微妙にややこしい話です。.NET Frameworkのバージョン番号の意味を知ることから始まります。

    とりあえず後者についてですが、Clrver.exeを使えば見れます。これでわかるのは 1.0 / 1.1 / 2.0 / 4.0 なだけです。しかし.NET Frameworkには3.0 / 3.5もあります。あと 3.5 SP1 Client Profileと4.0 Client Profileもあります。細かいことを言うと2.0で動かなくて2.0 SP1が必要なアプリもあります。

    逆に質問ですが「バージョン」のどこまで知りたいのでしょうか?

    追記:

    app.configがあればその中にアプリケーション作者が指定する.NET Frameworkバージョンが<supportedRuntime> 要素に書かれていることもあります。しかしわかる範囲はClrver.exeと同じです。

    • 編集済み 佐祐理 2012年1月25日 2:49
    • 回答としてマーク ten10 2012年1月25日 7:35
    2012年1月25日 2:35
  • 佐祐理さま、ありがとうごさいます。

    複数のランタイムバージョンが入っていてどれを使っているのか知りたかったので、Clrver.exeで十分です。

    Dependency Walker的に実行する前に分かればなお良かったのですが。

    逆に質問ですが「バージョン」のどこまで知りたいのでしょうか?

    Windows7への移行に際して、1.0/1.1のアプリかどうかを事前に調べれればOKです。

    • 編集済み ten10 2012年1月25日 7:36
    2012年1月25日 7:34
  • Dependency Walker的に実行する前に分かればなお良かったのですが。

     

    SDK ツールが必要ですが

    ildasm /text /noil /metadata=MDHEADER 調べたいファイル

    または

    dumpbin /clrheader 調べたいファイル

    として、image version (dumpbin の場合は runtime version を見るという手もありかもしれません。
    ※ もちろん、ildasm は、普通に起動してエクスプローラから調べたいファイルをドロップしても OK です

     



    • 編集済み K. Takaoka 2012年1月25日 8:12
    • 回答としてマーク ten10 2012年1月26日 6:45
    2012年1月25日 8:09
  • 逆に、先に示した<supportedRuntime> 要素タグを記述することで、1.1向けに作られたアプリケーションを2.0や4.0で動かすこともできます。

    # 互換のある限り動作するとは思いますが、必ず動くというものではありません。試してみる程度に。

    2012年1月25日 12:15