Когда я ввожу...
Msbuild<Enter>
... в командной строке я добираюсь...
Microsoft (R) Build Engine Version 2.0.50727.4927
[Microsoft .NET Framework, Version 2.0.50727.4927]
Copyright (C) Microsoft Corporation 2005. All rights reserved.
Это очень хорошо и хорошо за исключением того, что, когда я выполняю это против Visual Studio 2010 .sln
файл, сообщение об ошибке указывает:
MyProject.sln(2): Solution file error MSB5014: File format version is not recognized. MSBuild can only read solution files between versions 7.0 and 9.0, inclusive.
0 Warning(s)
1 Error(s)
Казалось бы, что версия MSBuild, который называют, не способна к пониманию моего файла решения.
Я полагал, что буду проверять свой путь и видеть, где MSBuild поднимается от. Однако кажется, что никакая часть моих точек контура в местоположении, где MSBuild должен быть найден.
Как командная строка находит копию MSBuild, который она использует и как я могу изменить эту версию так, чтобы последняя версия использовалась?
Он должен быть где-то в среде PATH. Используйте 'where msbuild', чтобы определить, откуда он загружает msbuild.
Используйте ярлык командной строки Visual Studio (2010) для инициализации пути и других переменных среды для VS 2010 и MSBuild 4.0.
Найдите / задайте для переменной MSBuild путь значение C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319
Очевидно, что указанный выше путь будет зависеть от места установки, но будет близко, если не точно.