- 締切済み
実行ファイルが.NET Frameworkかどうか
実行ファイル(sample.exeなど)を見て (バイナリエディターなどで開いて確認する方法でも可) 以下のことを確認する方法はありますでしょうか。 1) 32ビットか64ビットかどちらなのかを確認する方法 2) .NET Framework対応アプリケーションなのか そうでないのかを確認する方法 3) .NET Framework対応アプリケーションの場合、 最低限必要な(数字のもっとも小さい).NET Frameworkのバージョンを確認する方法 よろしくお願いします。(Windows7)
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- neKo_quatre
- ベストアンサー率44% (735/1637)
> どこを見れば、 > .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 #具体的な内容については、突っ込まれても自分はちょっと答えられないかも。
- neKo_quatre
- ベストアンサー率44% (735/1637)
> 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や関数なんかは確認できるハズ。
お礼
回答ありがとうございます。 1)についてはバイナリエディターで PE..を見つけて 50 45 00 00 XX XX … XX XXの部分が 4C 01ならば32ビット 64 86ならば64ビット となっていることが分かりました。 2)と3)ですが Dependency Walkerをダウンロードして 実行してファイルを開きましたが、 どこを見れば、 .NET Framework対応アプリケーションかどうかが 分かるのでしょうか? また、どこでバージョンがわかるのでしょうか。 よろしくお願いします。
お礼
2)と3)については、 簡単には確認できないということですね。 ありがとうございました。