質問

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 の下で。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top