Ho uno script nant che in uno dei suoi target utilizza i tag msbuild per creare una soluzione di Visual Studio 2010.Come specificare la versione di MSBuild nello script nant?
Il problema è che non riesce quando colpisce questo punto, l'errore è:
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)
L'errore ha un senso, se si sta chiamando la versione di .NET 2.0 di MSBuild non si compila la soluzione VS2010. Tuttavia, non riesco a capire come ottenere per chiamare la versione giusta di MSBuild.
Se corro 'dove MSBuild' (dallo stesso Comando VS2010 Prompt che lo script di build non è riuscita a), ottengo:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
Se corro 'msbuild/version' (di nuovo, stessa finestra) Ottengo:
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
Quindi tutto sembra che dovrebbe usare la versione 4.0, ma non lo è. Qualche idea su cosa dia? So di aver già affrontato questo problema in precedenza, ma non riesco a ricordare cosa significasse salvarmi la vita.