アンマネージ dll を C# にインポートするアプリケーションに取り組んでいます。メソッドをロードして呼び出すことができるラッパークラスがあります。メソッドは、dll のプログラムで正常に動作します。使用しているdllのバージョンを保存する機能を追加したいです。FileVersionInfo.GetVersionInfo("my.dll") を使用する必要があることがわかりましたC# が管理されていない dll のバージョンを取得しているためです。ただし、この関数を実行すると、「my.dll」が見つからないという例外が発生します。dll は、c: のルートから離れたフォルダーにあります。このフォルダーは PATH にあり、http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx#search_order_for_desktop_applications によると、それが見つかるはずです。
my.dll ファイルが読み込まれて動作していることを知っているのに、同じラッパー クラス内で GetVersionInfo() を呼び出して my.dll を見つけて、同じファイルのバージョン番号を取得できないのはなぜですか? 数日間探していたので、助けてくれてありがとう。