Mam skrypty, które w jednym z celów używają znaczników msbuild do zbudowania rozwiązania Visual Studio 2010.Jak określić wersję MSBuild w skrypcie nant?
Problemem jest to, że nie powiedzie się, gdy trafi do tego punktu, błąd jest:
Solution file error MSB5014: File format version is not recognized. MSBuild can only read solution files between versions 7.0 and 9.0, inclusive.
Failed to start MSBuild.
External Program Failed: C:\Windows\Microsoft.NET\Framework\v2.0.50727\msbuild.exe (return code was 1)
Błąd sens, jeśli dzwoni wersji .NET 2.0 MSBuild nie skompiluje rozwiązanie VS2010. Jednak nie mogę wymyślić, jak zmusić go do wywołania odpowiedniej wersji MSBuild.
Jeśli uruchomić „gdzie MSBuild” (z tego samego VS2010 wiersza polecenia, że skrypt kompilacji nie powiodło się), otrzymuję:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
Jeśli uruchomię „msbuild/wersję” (znowu to samo okno) Otrzymuję:
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18034]
Copyright (C) Microsoft Corporation. All rights reserved.
4.0.30319.17929
Wygląda na to, że wszystko powinno być w wersji 4.0, ale tak nie jest. Każdy pomysł, co daje? Wiem, że już wcześniej zajmowałem się tą sprawą, ale nie pamiętam, co to miało uratować mi życie.