2011-07-20 53 views
5

在Naudio擺弄時,我發現了this的代碼。我編譯它:類型或命名空間名稱'Linq'不存在

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

,並得到錯誤:

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?)

CSC的版本是:C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CSC.EXE

在搜索它時,我發現一個線程說我需要添加System.core引用,但是執行如下操作:/reference:System.core.dll/reference:System.core不能解決問題。

+2

使用.NET 3.5或.NET 4.0的編譯器,代碼將按原樣編譯。 –

回答

5

版本v2.0.50727本身不支持Linq。爲了解決您的問題,您可以嘗試這兩種方法:

  1. 刪除參考Linq如果可能的話(如已被SS凱恩的建議)。
  2. 如果刪除Linq不適合您,請使用更高版本。 而不是使用csc C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.EXE,我會建議升級到最新的.NET版本(假設您的部署沒有問題),並嘗試從那裏使用csc.exe

    我使用C:\Windows\Microsoft.NET\Framework\v4.0.30319\,這對我來說工作正常。

    另請注意,如果您使用的是Visual Studio 2010命令提示符,則此路徑不會默認添加到PATH env變量中,因此您必須手動添加它。

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

+0

當我瀏覽並添加C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ csc.exe,然後點擊添加它說:無法添加對C:\ Windows \ ......的引用。在組件中找不到任何類型或庫。謝謝 – User

4

我相信2.0.50727不支持Linq,從引用和「usings」刪除Linq,希望有代碼中沒有Linq語句

2

LINQ的不是.NET框架2的一部分,你正在使用。改爲嘗試更新的版本。

1

看起來你應該從文件play.cs的頂部除去

using System.Linq; 

,因爲這引用不是在NET 2.0,它使用的是可用的。

1

我不得不System.Xml.Linq的一個參考,並仍然得到了一個錯誤。

對我來說,解決辦法是:

  1. 交換.NET版本2.0
  2. 重建(失敗)
  3. 交換.NET版本3.5(對我來說),
  4. 重建(工程)。
相關問題