Мы получили новую базу кода, которая использует переменные среды повсюду. Они указывают на такие вещи, как корень проекта, активы, различные инструменты и т. Д. Не самая идеальная ситуация, но она работает. Однако, когда приходит время попробовать и запустить нашу автоматическую сборку, она становится гигантской болью.Перезагрузка переменных среды на C# после запуска
Windows, кажется, экземпляр переменных среды при создании процесса и не обновляет эти значения снова. Мы хотели бы, чтобы наша автоматическая система сборки проходила через список проектов и последовательно строила их. Для этого требуется вызвать коммутатор проекта, который изменяет эти значения. Однако, когда это сделано, изменения не отражаются в текущем запуске процесса сборки.
Кто-нибудь знает какие-либо команды/функции C#/etc, которые могут использоваться для принудительной перезагрузки переменных среды после вызова коммутатора проекта?
Это решило проблему для меня. Я изменил переменную окружения но даже после перезапуска приложения было возвращено старое значение. Я использовал «EnvironmentVariableTarget.Machine» и решил проблему. По-видимому, значение «EnvironmentVariableTarget.Process» является значением по умолчанию. – zmechanic