Нужно использовать свойство CodeBase
класса Assembly
:
var assembly = Assembly.GetAssembly(GetType()); 1
var assemblyFileUri = new Uri(assembly.CodeBase); 2
var path = assemblyFileUri.LocalPath; 3
1 — получаем объект Assembly
для текущего класса.
2 — свойство CodeBase
возвращает строку URI вида file://C:/FooDirectory/Foo.dll
. Эта строка передается в конструктор класса URI, который сконвертирует ее в обычный путь файловой системы.
3 — свойство LocalPath
возвращает путь к файлу сборки.