【问题标题】:Exception while trying to reference LINQ namespace尝试引用 LINQ 命名空间时出现异常
【发布时间】:2011-02-02 00:26:02
【问题描述】:
尝试在 .NET 2.0 Windows 窗体项目中使用 LINQ 时,我得到了:
导入“System.Linq”中指定的命名空间或类型不包含任何公共成员或找不到。确保命名空间或类型已定义并包含至少一个公共成员。确保导入的元素名称不使用任何别名
在引用以下命名空间的两行中:
System.Linq;
System.Xml.Linq;
如何在不引用外部 DLL 或任何东西的情况下让这些命名空间在 .NET 2.0 上工作?
【问题讨论】:
标签:
c#
.net
linq
namespaces
reference
【解决方案1】:
你不能。它们是在 .NET 3.5 中引入的。
我不知道 .NET 2.0 的 LINQ to XML 的任何实现(除非您使用 Mono 程序集 - 我假设 Mono 支持它)。如果您想要 .NET 2.0 中的 LINQ to Objects,可以使用 LINQBridge,尽管这当然违背了您的“无外部库”要求。
【解决方案2】:
LINQ 在 .NET Framework 2.0 中不可用。它是在 3.5 中引入的。
【解决方案3】:
假设您可以在 .NET 2.0 应用程序中使用 LINQ,如果您使用 3.0 编译器并包含 Mono LINQ 实现。我自己不知道该怎么做,而且我很确定这意味着引用外部 DLL。但是,.NET 应用程序总是引用外部 DLL,所以我不用担心。
更新:有一个叫做LINQBridge 的东西可以提供你需要的东西。
【解决方案4】:
参考System.Core(我建议您在 .NET 3.5 安装中找到它)。