Я использую c#, VS 2005.
У меня есть одно решение с двумя проектами.
Project1 должен запустить project2 после некоторых проверок.
Как я получаю исполняемый путь Project2 из Project1?
Мне нужно решение и для отладки и для живого режима.
спасибо,
KS
EXE для 2-го проекта должен иметь предсказуемое расположение относительно 1-го EXE. Получить абсолютный путь к папке, содержащей первый EXE-файл, очень просто:
string myPath = System.Reflection.Assembly.GetEntryAssembly().Location;
string myDir = System.IO.Path.GetDirectoryName(myPath);
Затем добавьте относительный путь к 2-му EXE-файлу. Настоятельно рекомендуется хранить его в том же каталоге, что и 1-й:
string path = System.IO.Path.Combine(myDir, "project2.exe");
System.Diagnostics.Process.Start(path);
Самый простой способ заставить его хорошо работать в IDE, а также на целевом компьютере — позволить IDE копировать project2.exe. Щелкните правой кнопкой мыши project1, Добавить ссылку, вкладку Проекты, выберите Project2. Свойство Copy Local ссылки будет равно True, так что project2.exe окажется в том же каталоге, что и project1.exe
Если задать для выходного каталога Project2 известное место для конфигураций Debug
и Release
, это известное место можно использовать в Project1.