Определить путь к ClassLibrary, лежащей вне каталога приложения
От: Аноним  
Дата: 16.05.13 13:34
Оценка:
Добрый день!

Дано:
1. EXE-шник, лежащий в одном каталоге
2. ClassLibrary (DLL), лежащая в другом каталоге (на этапе разработки каталог не известен, возможно на другом диске)

Необходимо: из DLL определить полный путь к этой самой DLL.

Проблема: понятно, что Application.ExecutablePath даст путь к EXE-шнику, а не к DLL.

Вопрос: подскажите, плиз, наиболее кошерный путь решения проблемы.
Мне ничего лучше нижеприведенного в голову не приходит.

// это код из ClassLibrary
public class ClassFromClassLibrary
{
  ...
  public string GetPathToThisDll()
  {
    // не нравится мне эта строка:
    string fullFileName = typeof(ClassFromClassLibrary).Assembly.GetFiles()[0].Name;

    // а это уже банально
    retrun Path.GetDirectoryName(fullFileName);
  }
  ...
}
Re: Определить путь к ClassLibrary, лежащей вне каталога приложения
От: Sharov Россия  
Дата: 16.05.13 13:41
Оценка:
Здравствуйте, Аноним, Вы писали:

    // не нравится мне эта строка:
    string fullFileName = typeof(ClassFromClassLibrary).Assembly.GetFiles()[0].Name;


Нормальный код, кмк. Чем конкретно не нравится?
Кодом людям нужно помогать!
Re: Определить путь к ClassLibrary, лежащей вне каталога приложения
От: Danchik Украина  
Дата: 16.05.13 14:02
Оценка: 2 (1)
Здравствуйте, Аноним, Вы писали:

[Skip]

typeof (ClassFromClassLibrary).Assembly.Location
Re: Определить путь к ClassLibrary, лежащей вне каталога приложения
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 16.05.13 14:17
Оценка:
Здравствуйте, Аноним, Вы писали:

ТекущаяДиректория = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName).ToString();
и солнце б утром не вставало, когда бы не было меня
Re[2]: Определить путь к ClassLibrary, лежащей вне каталога приложения
От: Sharov Россия  
Дата: 16.05.13 14:48
Оценка:
Здравствуйте, Danchik, Вы писали:

D>typeof (ClassFromClassLibrary).Assembly.Location


Вот этот вариант выглядит поизящнее.
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.