Я использую двоичные файлы инструмента в проекте C# под названием GraphViz
. Проблема заключается в том, что я должен указать путь двоичных файлов как жестко закодированный, и я не хочу этого делать.Mimic Linux, какая команда в C#
IRenderer renderer = new Renderer("C:\\Program Files (x86)\\Graphviz2.38\\bin"); // todo: remove hardcoded GraphViz path
Я хочу, чтобы имитировать в Linux which
команду. Просто передайте двоичное имя (например, dot
) и получите путь.
GetBinaryPath("dot"); // return the above path
Я бы по достоинству оценил любые идеи или темы для того, чтобы начать поиск.
Примечание Target OS: Windows
.NET версии: 4
почему бы не использовать флаг? или пункт меню? или переменную окружения, чтобы указать, где установлена программа, или просто убедиться, что двоичный файл находится в вашей переменной PATH и использовать exec без указания каталога (что является тем, что «делает») –
2 голоса, чтобы закрыть вопрос, t понять, как это не связано с программированием. –
является частью 'Graphviz2.38'? если это так, вы можете получить 'C: \\ Program Files (x86)' через 'Enviorment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86);' –