Вызывается неправильная версия vcbuild.exe

У меня есть несколько версий Visual Studio, установленных в моей системе (2005, 2008 и 2010). Также у меня есть связанный с ним проект Visual Studio 2005 (8.0) С++ (vcproj) и решение (sln). Когда я запускаю следующую команду

msbuild helloworld.sln

вызывается msbuild версии 4.0 и затем вызывает vcbuild.exe из каталога Visual Studio 9.0. Это приводит к ошибке

vcbuild.exe : error VCBLD0010: Project 'XYZ' requires upgrade. Use'vcbuild /upgrade' or 'devenv /upgrade' to upgrade the project.

В других системах MSBuild 4.0 вызывает vcbuild.exe из каталога Visual Studio 8, и проект успешно компилируется. Я не могу понять, почему в моей системе vcbuild 9.0 вызывает вместо 8.0. У кого-нибудь есть идея, как устранить эту проблему?

Ответ 1

При запуске Visual Studio из командной строки вы всегда должны делать это в командной строке, в которой вы сначала запускали vcvarsall.bat из правильной версии VS. Установка Visual Studio помещает ярлыки в такие командные строки в меню "Пуск".