Получить путь к приложению другого исполняемого файла в том же решении - PullRequest
5 голосов
/ 12 мая 2010

Я использую c #, VS 2005.

У меня есть одно решение с двумя проектами.

Project1 должен запустить project2 после некоторых проверок.

Как получить путь к исполняемому файлу Project2 из Project1?

Мне нужно решение как для режима отладки, так и для режима реального времени.

спасибо,

KS

Ответы [ 2 ]

4 голосов
/ 12 мая 2010

EXE-файл для второго проекта должен иметь предсказуемое расположение относительно первого EXE-файла. Получить абсолютный путь к папке, содержащей ваш первый EXE-файл, очень просто:

        string myPath = System.Reflection.Assembly.GetEntryAssembly().Location;
        string myDir = System.IO.Path.GetDirectoryName(myPath);

Затем добавьте относительный путь вашего второго EXE-файла. Настоятельно рекомендуется хранить его в том же каталоге, что и 1-й:

        string path = System.IO.Path.Combine(myDir, "project2.exe");
        System.Diagnostics.Process.Start(path);

Самый простой способ заставить это работать хорошо как в среде IDE, так и на целевой машине, - позволить IDE копировать project2.exe. Щелкните правой кнопкой мыши проект1, Добавить ссылку, вкладку Проекты, выберите Проект2. Свойство Copy Local для ссылки будет иметь значение True, поэтому project2.exe окажется в том же каталоге, что и project1.exe

0 голосов
/ 12 мая 2010

Если вы установите выходной каталог Project2 в известное место для конфигураций Debug и Release, вы можете использовать это известное место в вашем Project1.

...