Tôi có một tập lệnh nant rằng trong một trong các mục tiêu của nó sử dụng các thẻ msbuild để xây dựng một giải pháp Visual Studio 2010.Cách chỉ định phiên bản MSBuild trong tập lệnh nant?
Vấn đề là nó không thành công khi nó chạm điểm này, lỗi này là:
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)
Các lỗi có ý nghĩa, nếu nó đang gọi phiên bản .NET 2.0 của MSBuild nó sẽ không biên dịch các giải pháp VS2010. Tuy nhiên, tôi không thể hiểu làm thế nào để có được nó để gọi phiên bản đúng của MSBuild.
Nếu tôi chạy 'nơi MSBuild' (từ Bộ chỉ huy VS2010 cùng Nhắc rằng xây dựng kịch bản thất bại trong), tôi nhận được:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
Nếu tôi chạy 'msbuild/phiên bản' (một lần nữa, cùng một cửa sổ) Tôi nhận được:
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
Vì vậy, mọi thứ có vẻ như đang sử dụng phiên bản 4.0, nhưng không phải vậy. Bất kỳ ý tưởng gì cho? Tôi biết tôi đã giải quyết vấn đề này trước đây, nhưng tôi không thể nhớ nó là gì để cứu mạng tôi.