2016-07-04 17 views
6

Tôi đã bắt đầu nhận được lỗi sau khi cố chạy MSBuild qua tệp hàng loạt trên máy của tôi.Lỗi khi chạy MSBuild

C: \ Program Files \ x14.0 \ AppxPackage \ Microsoft.AllXPackage.Targets (283,22): lỗi MSB4086: So sánh số đã được thử trên "10,0. 11000.0 "đánh giá thành" 10.0.11000.0 "thay vì một số, trong điều kiện " '$ (TargetPlatformVersion)'> = '10 .0.11000.0 '". [MyProject.csproj]

Điều này xảy ra trên một số dự án khác nhau trong giải pháp.

Tôi hiện đang chạy VS2015 (Bản cập nhật 3). Tôi cập nhật từ Update 2 vào thứ Sáu. Vì vậy, có thể điều này có thể liên quan.

Dựa trên các bài đăng trực tuyến khác nhau (chẳng hạn như this một) dường như đã có (tại một số thời điểm trong quá khứ ít nhất) do Resharper gây ra. Tuy nhiên, tôi đã cập nhật Resharper lên phiên bản mới nhất và chạy bản sửa lỗi khi cài đặt, không có kết quả. Tôi thậm chí đã cố gắng để treo nó trong Visual Studio chính nó.

Tôi cũng đã cố gắng sửa chữa bản cài đặt VS215. Nhưng tôi vẫn nhận được lỗi.

Làm cách nào để giải quyết lỗi này?

Cập nhật

Vì vậy, Khi tôi chạy tập tin thực thi này, nó chạy bằng VisualStudioVersion=12.0. Điều này dường như là một phần của vấn đề. Khi tôi repoint nó tại 12.0 xây dựng chạy tốt.

Kiểm tra thành thats mục tiêu tập ném ngoại lệ, bạn có thể thấy điều này trên đường dây 283:

<PropertyGroup> 
    <SdkIsRS1OrLater>False</SdkIsRS1OrLater> 
    <SdkIsRS1OrLater 
    Condition="'$(TargetPlatformVersion)' &gt;= '10.0.11000.0'">True</SdkIsRS1OrLater> 
</PropertyGroup> 

Vì vậy, tôi không hoàn toàn chắc chắn lý do tại sao đây là trường hợp, nhưng nó dường như là một vấn đề trong các tập tin mục tiêu từ MS?

+0

Tôi đã tạo sự cố trên Microsoft Connect: https://connect.microsoft.com/VisualStudio/Feedback/Details/2891723 –

+0

Tương tự tại đây. Upd3 là lỗi. VS biên dịch mà không có bất kỳ vấn đề nào – Grigory

+0

Tôi không thể truy cập liên kết đó khi kết nối vì một số lý do. Bạn có nhận được bất kỳ thông tin mới nào về vấn đề này không? Tôi cũng bị mắc kẹt trên đó. : ( – Michael

Trả lời

3

Hãy thử thiết lập các biến đường dẫn và môi trường bằng cách sử dụng tập tin thực thi vận chuyển với VS2015 hơn là thiết lập các đường msbuild và 'VisualStudioVersion' bằng tay, để làm thêm này như sau vào tập tin batch của bạn:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" 

tôi m không chắc chắn nguyên nhân gốc là gì, tôi nghi ngờ một sự không phù hợp của MSBuild và các phiên bản tập tin đích.

Xem https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx để biết thêm thông tin về tệp lô ở trên.

+2

Tôi thực sự sử dụng 'C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \ VsDevCmd.bat' thay thế - VcVarsall chỉ hiện diện nếu bạn cài đặt C++ VsDevCmd là tập tin batch được sử dụng để thiết lập dấu nhắc lệnh dev. –

0

Có, tôi nghi ngờ giống nhau - có vẻ như ai đó đã thay thế và đặt ký hiệu &gt; thay vì >. Tôi tìm thấy 3 mục của &gt; ở chỗ tập ở những nơi nó một cách logic phải > PS: Đây không phải là một câu trả lời, bình luận không hỗ trợ ký tự sàng lọc

Các văn bản in nghiêng ở trên là một chút quá nhanh, tôi Tôi nghĩ rằng tôi bắt gặp vấn đề với một khẩu súng hút thuốc, nhưng kiểm tra lại mã bên trong tệp .targets đó cho thấy rằng &gt; được sử dụng đúng trong điều kiện - người ta phải mã hóa các dấu hiệu này theo MSBuild Conditions, mặc dù vẫn chưa rõ lý do cố gắng so sánh các chuỗi với '> ='. Sử dụng nó trong 2 trường hợp khác ít ý nghĩa hơn. Dù sao, tôi nghi ngờ bạn đúng và đây là một vấn đề với một tập tin mục tiêu cụ thể.

1

Tôi đã gặp lỗi tương tự khi chúng tôi thực hiện việc xây dựng trong Teamcity. Tôi đã nhận nó làm việc sau khi thay đổi cấu trúc bước xây dựng đội ngũ để sử dụng MSBuild Tools 2015 cho phiên bản MSBuild và 14.0 là phiên bản công cụ MSBuild. enter image description here