Я занимаюсь разработкой автоматического сборщика, который будет выполнять серию шагов в процессе сборки и создавать целевое приложение. Мы использовали пакетный файл, который устанавливал кучу переменных среды или называл инструменты, которые настраивали переменные среды и в конечном итоге запускали «make».
Я использую класс «Процесс», который отлично работает для выполнения этих команд, но, к сожалению, каждый раз, когда запускается программа, которая вносит изменения в среду (например, добавляет что-то в переменную PATH), эти переменные теряются, когда завершается «Процесс». , Следующий экземпляр «Process» создается и наследует env от «вызывающего» приложения (мой exe) снова - это означает, что все настройки env последней командой потеряны. Как вы справляетесь с этой ситуацией? Есть ли лучший способ запустить серию командных файлов, таких как команды, в C # и поддерживать среду, которую они настроили?
Обратите внимание, что, к сожалению, старшеклассники объявили, что nant / ant не вариант, так что "Эй, почему бы не использовать Nant - он делает это!" это не ответ, который я ищу.
Спасибо.