Что я пропускаю? Вы запускаете это из командной строки и просматриваете переменные, используя команду set в командной строке? Вы не можете запустить это из проводника, и переменные будут изменены только в командной строке, а не в системной среде.
Этот комментарий является ответом. vcvarsall.bat - пакетный файл, который экспортирует переменные среды. Эти значения могут загрязнять пространство имен среды, если они находятся на системном уровне, что может вызвать некоторые странные вещи. Вместо этого вам нужно будет запустить командную строку, а затем запустить этот командный файл в том же приглашении, где вы затем скомпилируете из командной строки.
например. если вы делаете это в своем собственном пакетном файле вы
- включают файл vcvarsall.bat, чтобы получить переменные среды сборки MSBuild
- вызова на ваши файлы проект/решение
*** Что Мне не хватает? *** Вы запускаете это из командной строки и просматриваете переменные, используя команду set в командной строке? Вы не можете запустить это из проводника, и переменные будут изменены только в командной строке, а не в системной среде. – drescherjm
*** Я смотрю в свое диалоговое окно «Переменные среды» (в разделе «Системные/расширенные системные настройки»). Системная среда не будет затронута средой, добавленной в командной строке, запускающей скрипт vcvarsall.bat. – drescherjm
Каждый процесс в системе имеет свою собственную среду - вы не можете изменить среду для одного и ожидать, что другой увидит изменение. Однако вы можете изменить среду в одной оболочке и ожидать, что дочерние процессы будут видеть ее, поскольку среда (до некоторой степени) унаследована. То, что вам не хватает, - это понимание того, как работают переменные среды. –