2015-02-22 24 views
12

Vì vậy, tôi có MonoDevelop v5.7 trên Linux Mint 16. Tôi tạo C# ConsoleProject mới với mã mặc định trên đó

 
using System; 

namespace Lab1 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 
      Console.WriteLine ("Hello World!"); 
     } 
    } 
} 

và cố gắng tạo F7. Sau đó tôi có lỗi: Lỗi: /../../Lab1/Lab1/Lab1.csproj: /../../Lab1/Lab1/Lab1.csproj không thể nhập "$ (MSBuildBinPath) \ Microsoft. CSharp.targets "(Lab1). Có ai có bất cứ đề nghị nào không?

+0

Trước tiên, tôi khuyên bạn nên chạy xbuild trên dự án của mình ở chế độ tiết và xem MSBuildBinPath sẽ mở rộng ra sao. – mikalai

+0

Phiên bản mono nào bạn có trong hệ thống của mình? – knocte

+0

Bạn đã cài đặt 'mono-xbuild' chưa? – Andy

Trả lời

18

Tôi biết điều này là muộn, nhưng trong trường hợp của tôi, Mono đã nhắm mục tiêu một phiên bản .NET chưa được cài đặt. Điều này được sửa bằng cách thay đổi khung mục tiêu.


tôi thấy vấn đề này bằng cách chạy xbuild vào file sln:

xbuild myProject.sln 

tôi có cái gì đó như:

warning : Could not find project file /usr/lib/mono/3.5/Microsoft.CSharp.targets, to import. Ignoring. 

Cảnh báo chỉ ra rằng dự án mặc định để nhắm mục tiêu NET 3.5 , nhưng tôi đoán rằng phiên bản đó chưa được cài đặt. Hãy tìm một phiên bản được cài đặt bằng cách tìm kiếm cho rằng tập tin bị mất:

find /usr/lib/mono -name "Microsoft.CSharp.targets" 

Trên máy tính của tôi, /usr/lib/mono/4.5/Microsoft.CSharp.targets được niêm yết, nhưng bạn có thể có một phiên bản .NET khác nhau. Bỏ qua các đường dẫn xbuild và msbuild.

Bất cứ nơi nào nó tồn tại cho bạn, hãy chuyển đến dự án của bạn, nhấp vào nút cài đặt bên cạnh dự án của bạn trong ngăn giải pháp (nút thả xuống có hình bánh răng) và nhấp vào "Tùy chọn". Sau đó, dưới "Xây dựng", bạn sẽ thấy "Chung", nhấp vào đó và thay đổi "Khung mục tiêu" của bạn thành phiên bản .NET nơi thư mục chứa tệp Microsoft.CSharp.targets. Trong trường hợp của tôi, đây là 4.5.

Hy vọng điều này sẽ giúp ai đó.

1

Vấn đề của tôi là tôi đã vô tình xóa tệp packages.config cho dự án.

0

Nếu đó là lỗi Mono.

Vì vậy, hãy mở menu Dự án Chọn Build-> General và chọn khung được cài đặt.

Tôi đã làm việc trên 3,5 nhưng chỉ đơn thuần là 4.5 và 4.5.1 được cài đặt.

Sau khi chọn khung tôi được hỏi nếu tôi tiếp tục với năm 2010 hoặc 2012, bạn chọn một trong số này. Như chương trình ban đầu được viết với năm 2008 và trên 3,5 trên Win7. Đây phải là lý do. Tôi đã giải quyết bằng cách này.

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