В моей системе установлено несколько версий Visual Studio (2005, 2008 и 2010).
Также у меня есть проект Visual Studio 2005 (8.0) C ++ (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. У кого-нибудь есть идеи, как решить эту проблему?
При запуске сборок Visual Studio из командной строки, вы всегда должны делать это в командной строке, в которой вы впервые запустили vcvarsall.bat из правильной версии VS. При установке Visual Studio ярлыки для таких командных строк помещаются в меню «Пуск».
Других решений пока нет …