类型或命名空间名称“Linq”不存在

时间:2011-07-20 10:31:31

标签: c# linq compiler-errors

在摆弄Naudio时,我找到了this代码。我正在编译它:

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

并收到错误:

  

play.cs(3,14):错误CS0234:类型或命名空间名称“Linq”不存在于               命名空间'System'(您是否缺少程序集引用?)

csc的版本是:C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ csc.EXE

在搜索时,我找到了一个帖子,说我需要添加System.core引用,但执行类似:/reference:System.core.dll/reference:System.core的操作并不能解决问题。

5 个答案:

答案 0 :(得分:5)

版本v2.0.50727本身不支持Linq。要解决您的问题,您可以尝试以下两种方法:

  1. 如果可能,删除对Linq的引用(正如SS Kain已经建议的那样)。
  2. 如果您不希望删除Linq,请使用更高版本。 我建议不要使用C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.EXE中的csc,而是建议升级到最新的.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\

答案 1 :(得分:4)

我认为2.0.50727不支持Linq,从引用和“使用”中删除Linq,并希望代码中没有Linq个语句

答案 2 :(得分:2)

Linq不是您正在使用的.NET Framework 2的一部分。请尝试更新版本。

答案 3 :(得分:1)

看起来你应该删除

using System.Linq;

从文件play.cs的顶部开始,因为此引用在您使用的.Net 2.0中不可用。

答案 4 :(得分:1)

我有一个对System.Xml.Linq的引用,但仍然出错。

我的解决方案是:

  1. 将.net ver交换为2.0
  2. 重建(失败)
  3. 将.net ver交换为3.5(在我的情况下),
  4. 重建(工作)。