Как получить путь к исполняемому файлу из управляемой DLL

StackOverflow https://stackoverflow.com/questions/121116

  •  02-07-2019
  •  | 
  •  

Вопрос

У меня есть управляемая DLL (написанная на C++/CLI), содержащая класс, используемый исполняемым файлом C#.В конструкторе класса мне нужно получить доступ к полному пути исполняемого файла, ссылающегося на 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