Получение полного пути для службы Windows
как я могу узнать папку, в которой находится служба windows .exe файл устанавливается динамически?
Path.GetFullPath(relativePath);
возвращает путь на основе .
наXmlDocument.Load(string filename)
метод, кажется, работает против относительного пути внутри каталога, где служба .установлен exe-файл.7 ответов:
попробуйте это:
AppDomain.CurrentDomain.BaseDirectory
(как здесь: как найти путь exe службы windows)
это работает для нашей службы windows:
//CommandLine without the first and last two characters //Path.GetDirectory seems to have some difficulties with these (special chars maybe?) string cmdLine = Environment.CommandLine.Remove(Environment.CommandLine.Length - 2, 2).Remove(0, 1); string workDir = Path.GetDirectoryName(cmdLine);
Это должно дать вам абсолютный путь к исполняемому файлу.
другое версию:
string path = Assembly.GetExecutingAssembly().Location; FileInfo fileInfo = new FileInfo(path); string dir = fileInfo.DirectoryName;