マネージド DLL から実行可能パスを取得する方法
-
02-07-2019 - |
質問
C# 実行可能ファイルで使用されるクラスを含むマネージド DLL (C++/CLI で記述された) があります。クラスのコンストラクターで、DLL を参照する実行可能ファイルのフル パスにアクセスする必要があります。実際のアプリでは、Application オブジェクトを使用してこれを実行できることはわかっていますが、マネージ DLL からどのように実行できるでしょうか?
解決
Assembly.GetCallingAssembly()
または
Assembly.GetExecutingAssembly()
または
Assembly.GetEntryAssembly()
必要に応じて。
次に、Location または CodeBase プロパティを使用します (どちらだったかは覚えていません)。
他のヒント
@レッピー:ありがとう - それは私が必要としていた指針でした。
将来の参考のために、C++/CLI で実際に機能する構文は次のとおりです。
String^ appPathString = Assembly::GetEntryAssembly()->Location;
GetExecutingAssembly()
DLLの名前を指定しました
GetCallingAssembly()
System.Windows.Forms のようなものを返しました
GetEntryAssembly
と同様のフルパスを返しました GetModulePath()
Win32 の下で。
所属していません StackOverflow