Получить сборочный путь C # - PullRequest
12 голосов
/ 27 мая 2009

Я пытаюсь узнать путь к DLL ... несколько сайтов говорят, что я должен использовать System.Reflection.Assembly.GetExecutingAssembly (). Расположение, но он возвращает путь в C: \ Windows \ Microsoft.Net .. . etc ... \ File.Dll

и я хочу c: \ MyProyect \ MiWeb \ Bin \ File.Dll

любая помощь?

Ответы [ 4 ]

21 голосов
/ 27 мая 2009

Вы можете сделать это, используя:

string file = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).LocalPath;
3 голосов
/ 27 мая 2009

Расположение сборки изменяется в зависимости от перенаправлений и теневого копирования. Попробуйте вместо этого использовать свойство Codebase.

1 голос
/ 27 мая 2009

Это может быть фактически путь, который использует программа ... IIRC, он начинает поиск вызова метода в GAC, прежде чем перейти к рабочему каталогу по умолчанию.

0 голосов
/ 27 мая 2009

Вы уверены, что указали правильную сборку в своем проекте? Похоже, вы используете сборку «по умолчанию», поскольку она находится в папке .NET.

...