Правильное получение пути к сборке
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.02.05 15:44
Оценка: 24 (7) +1
Уже давно думал как правильно получить путь к сборке.

В принципе обычно работает вот такой код:
Path.GetDirectoryName(Assembly.GetExecutingAssembly().LocalPath)

Однако если сборка была помещена в GAC, то возникают проблемы, так как путь ведет в GAC.

Копаясь с висходниках MSBuild подсмотрел красивый способ получение правильного в любом случае пути:
Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath)


ЗЫ

Естественно вместо "Assembly.GetExecutingAssembly()" можно применять любой другой способ получить ссылку на сборку. Например, вот так можно получить путь к mscorlib.dll:
Console.WriteLine(new Uri(typeof(int).Assembly.CodeBase).LocalPath);
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.