2015-08-30 16 views
9
XBuild Engine Version 12.0 
Mono, Version 3.2.8.0 

Tôi đang cố gắng xây dựng giải pháp C# của mình trong XBuild. Nó xây dựng hoàn toàn tốt đẹp trong Windows, nhưng không phải trên Ubuntu. Tôi nhận được các lỗi sau:Làm thế nào để tôi có được Mono để sử dụng đúng 'ToolsVersion'?

warning : Project has unknown ToolsVersion '14.0'. Using the default tools version '4.0' instead. 
Target GetFrameworkPaths: 
/usr/lib/mono/4.5/Microsoft.Common.targets: warning : TargetFrameworkVersion 'v4.5.2' not supported by this toolset (ToolsVersion: 4.0). 
error CS0246: The type or namespace name 'RedditSharp' could not be found. Are you missing an assembly reference? 
error CS0246: The type or namespace name `IReadOnlyCollection' could not be found. Are you missing an assembly reference? 

và tương tự. Tôi đã thêm RedditSharp.dll vào GAC, vì vậy tôi không biết tại sao nó không thể tìm thấy nó, và tôi chắc chắn không biết tại sao nó không thể tìm thấy IReadOnlyCollection. Tôi nghi ngờ rằng đó là tất cả vì tôi không thể sử dụng ToolsVersion 14.0.

Có ai biết gì về việc xây dựng C# trên Linux không? Tôi đang làm gì sai?

Trả lời

7

14 có nghĩa là MSBuild 14, là một phần của Visual Studio 2015. Thông thường Mono xbuild chỉ hỗ trợ phiên bản Visual Studio mới nhất sau một thời gian. Vì vậy, bạn có thể đợi cho đến khi nó được cập nhật, hoặc hack xbuild nếu bạn muốn.

Cách giải quyết khác là chuyển đổi dự án của bạn thành MSBuild phiên bản 12

5

Bạn đang gặp phải hai vấn đề khác nhau.

Trước tiên hãy cảnh báo về Công cụPhiên bản 14.0 và thứ hai các lỗi phàn nàn 4.5.2 không được hỗ trợ.

Chỉ cần thay đổi khung mục tiêu thành 4.5 và dự án của bạn sẽ biên dịch. Cảnh báo ToolsVersion vẫn ở đó, nhưng việc biên dịch sẽ kết thúc thành công.

Tôi đã gặp phải sự cố tương tự. Sau khi thay đổi khung mục tiêu, tất cả đều hoạt động tốt.

+0

Thậm chí bây giờ 1,5 năm tôi vẫn cần phải hạ cấp khung .Net xuống 4.5 cho các dự án được chạy theo MONO? –

0

Tôi có phiên bản Debian 8 (Jessie) của Raspbian với cài đặt Mono 5.0.

Dường như nâng cấp MonoDevelop không hữu ích. Vì vậy, tôi đã đi đến thư mục chứa tệp .sln, tìm thấy tệp .csproj và sửa đổi các Toolsversion (nó phải nằm trên các dòng trên cùng của tệp) có từ "15.0" đến "4.0". Điều đó hiệu quả.

Các vấn đề liên quan