2011-07-20 4 views
5

Trong khi nghịch với Naudio, tôi tìm thấy mã this. Tôi đang biên soạn nó như:Tên loại hoặc không gian tên 'Linq' không tồn tại

csc.exe /reference:Naudio.dll play.cs 

và nhận được lỗi:

play.cs(3,14): error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)

Các phiên bản của csc là: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ csc.exe

Trong khi tìm kiếm, tôi tìm thấy một chuỗi có nội dung là tôi cần thêm tham chiếu System.core, nhưng thực hiện như sau: /reference:System.core.dll hoặc /reference:System.core không giải quyết được sự cố.

+2

Sử dụng trình biên dịch từ .NET 3.5 hoặc .NET 4.0 và mã sẽ biên dịch như cũ. –

Trả lời

5

phiên bản v2.0.50727 không hỗ trợ nguyên bản Linq. Để giải quyết vấn đề của bạn, bạn có thể thử hai phương pháp sau:

  1. Xóa tham chiếu đến Linq nếu có thể (như đã được đề xuất bởi SS Kain).
  2. Nếu bạn không muốn loại bỏ Linq, hãy sử dụng phiên bản cao hơn. Thay vì sử dụng csc từ C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.EXE, tôi khuyên bạn nên nâng cấp lên phiên bản .NET mới nhất (miễn là triển khai của bạn không có vấn đề với điều đó) và thử sử dụng csc.exe từ đó.

    Tôi sử dụng C:\Windows\Microsoft.NET\Framework\v4.0.30319\ và hoạt động tốt cho tôi.

    Cũng lưu ý rằng nếu bạn đang sử dụng dấu nhắc lệnh Visual Studio 2010, đường dẫn này không được thêm theo mặc định vào biến PATH env của bạn và do đó bạn sẽ phải thêm nó theo cách thủ công.

    set PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\

+0

Khi tôi duyệt và thêm C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ csc.exe và sau đó nhấn thêm nó nói Không thể thêm tham chiếu tới C: \ Windows \ ....... Không tìm thấy loại hoặc thư viện nào trong thành phần. Cảm ơn – User

4

Tôi tin rằng 2.0.50727 không hỗ trợ Linq, loại bỏ Linq từ tài liệu tham khảo và từ "usings" và hy vọng rằng không có Linq báo cáo trong các mã

2

LINQ không phải là một phần của .NET Framework 2, mà bạn đang sử dụng. Hãy thử một phiên bản mới hơn để thay thế.

1

Hình như bạn nên loại bỏ

using System.Linq; 

từ phía trên cùng của play.cs tập tin, kể từ khi thông tin này không có sẵn trong Net 2.0, mà bạn đang sử dụng.

1

Tôi đã có một tham chiếu đến System.Xml.Linq và vẫn có một lỗi.

Các giải pháp đối với tôi là:

  1. Swap .net ver đến 2,0
  2. Rebuild (thất bại)
  3. Swap .net ver đến 3,5 (trong trường hợp của tôi),
  4. Rebuild (công trình).