• 締切済み

実行ファイルが.NET Frameworkかどうか

実行ファイル(sample.exeなど)を見て (バイナリエディターなどで開いて確認する方法でも可) 以下のことを確認する方法はありますでしょうか。 1) 32ビットか64ビットかどちらなのかを確認する方法 2) .NET Framework対応アプリケーションなのか   そうでないのかを確認する方法 3) .NET Framework対応アプリケーションの場合、  最低限必要な(数字のもっとも小さい).NET Frameworkのバージョンを確認する方法 よろしくお願いします。(Windows7)

みんなの回答

回答No.2

> どこを見れば、 > .NET Framework対応アプリケーションかどうかが .NETは色んなライブラリ使うので、難しいです。 例えば、下記の記事を参考にすると「mscorlib.dll」とか。 Microsoft Windows library files - Wikipedia https://en.wikipedia.org/wiki/Microsoft_Windows_library_files > また、どこでバージョンがわかるのでしょうか。 昔ながらのDependency Walkerを使ったベタな方法だと、アプリケーションに使われているDLLと関数と、そのライブラリのバージョンごとに追加されているDLLと関数を見比べてとか。 この方法で調べる場合、バージョンが新しい方が必ずしも上位互換とは限りません。 稀にですが、ライブラリから機能や関数が削除されたり、機能や振る舞いが変更される事もあるんだし。 結果、新しいDLL、ライブラリを導入することで、既存のアプリケーションが動作しなくなる「DLL Hell」って状況にハマります。 .NET Frameworkでは、そんなハメにならないように「アセンブリ」とかって概念を利用するようです。 .NET Framework を使った簡単な配置と DLL Hell の解決 https://msdn.microsoft.com/ja-jp/library/cc440076(v=vs.71).aspx #具体的な内容については、突っ込まれても自分はちょっと答えられないかも。

yam2012
質問者

お礼

2)と3)については、 簡単には確認できないということですね。 ありがとうございました。

回答No.1

> 1) 32ビットか64ビットかどちらなのかを確認する方法 バイナリエディタで確認できるハズ。 [ win ] 実行ファイルが 32 ビットか 64 ビットかを確認する方法: Fomalhaut of Piscis Australis http://foma-zakki.cocolog-nifty.com/zakki/2010/08/win-win32-ka-73.html > 2) .NET Framework対応アプリケーションなのか >  最低限必要な(数字のもっとも小さい).NET Frameworkのバージョンを確認する方法 開発ツールやSDKに付属している、いわゆる「Dependency Walker」を使うと、参照しているDLLや関数なんかは確認できるハズ。

yam2012
質問者

お礼

回答ありがとうございます。 1)についてはバイナリエディターで  PE..を見つけて  50 45 00 00 XX XX …  XX XXの部分が  4C 01ならば32ビット  64 86ならば64ビット  となっていることが分かりました。 2)と3)ですが Dependency Walkerをダウンロードして 実行してファイルを開きましたが、 どこを見れば、 .NET Framework対応アプリケーションかどうかが 分かるのでしょうか? また、どこでバージョンがわかるのでしょうか。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう