Запустите второй проект из того же решения - PullRequest
2 голосов
/ 20 января 2020

Мне было поручено создать собственное средство обновления, но я не могу понять, как его запустить. Конечно, я мог бы просто создать отдельное приложение, чтобы позаботиться об этом, но желательно, чтобы все они оставались в одном решении. В моем решении у меня есть проект "Main", который является приложением Forms, и проект "AutoUpdater", который является консольным приложением.

solution with two projects

Моя идея чтобы "Main" запустил консольное приложение AutoUpdater в отдельном процессе или, возможно, программа скопировала файл autoupdater.exe во временную папку, а затем запустила его оттуда (для предотвращения блокировки файла)

Но как мне сказать Main запустить AutoUpdater?

Ответы [ 3 ]

1 голос
/ 20 января 2020

Вы можете использовать Process.Start для запуска exe AutoUpdater, указав путь.

0 голосов
/ 20 января 2020

Используйте событие Post build проекта AutoUpdater, чтобы скопировать вывод в место, к которому может получить доступ Основное приложение.

Подробнее здесь: https://docs.microsoft.com/en-us/visualstudio/ide/how-to-specify-build-events-csharp?view=vs-2019

и / или вы можете добавить каталог AutoUpdater в переменную Path Environment и использовать только имя исполняемого файла в методе Process.Start.

0 голосов
/ 20 января 2020

в вашем основном объявите использование.

using AutoUpdater;

Тогда у вас будет легкий доступ для запуска Консоли.

...