ターゲットの 1 つで msbuild タグを使用して Visual Studio 2010 ソリューションをビルドする nant スクリプトがあります。
問題は、この時点で失敗することです。エラーは次のとおりです。
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)
エラーは理にかなっています.MSBuildの.NET 2.0バージョンを呼び出している場合、VS2010ソリューションはコンパイルされません。ただし、正しいバージョンの MSBuild を呼び出す方法がわかりません。
「where MSBuild」を (ビルド スクリプトが失敗したのと同じ VS2010 コマンド プロンプトから) 実行すると、次のようになります。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
「msbuild /version」を実行すると (再び同じウィンドウ)、次のようになります。
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
したがって、すべてが 4.0 バージョンを使用する必要があるように見えますが、そうではありません。何が与えられますか?以前にこの問題に対処したことは知っていますが、何が私の命を救ったのか思い出せません。