【问题标题】:Visual Studio Does not recognize System.LinqVisual Studio 无法识别 System.Linq
【发布时间】:2014-08-30 20:21:11
【问题描述】:

我创建了这个程序和 C#,几周前它可以正常工作。 现在,我将所有这些代码复制到我正在处理的另一个项目中。我将它添加到我正在处理的项目中的一个全新的 C# 类中。 Visual Studio 无法识别在 cmets 中显示“未找到”的程序集引用。

这很奇怪,因为它们是在以前的程序中发现的。有谁知道为什么 Visual Studio 找不到这些程序集引用。

using System;

using System.Collections.Generic;

using System.Linq;    //not found
using System.Text;
using XML_Creator;     //not found
using System.Xml.Linq; //not found
using System.IO;

【问题讨论】:

  • 项目中是否添加了引用?
  • 您的新项目中是否引用了System.Xml.Linq.dll
  • 您使用的是哪个版本的 .NET 框架?
  • 我使用的是框架 4.0
  • @user3670048 问题是:项目使用的是哪个目标版本的 .NET 框架?

标签: c# visual-studio-2010 declaration


【解决方案1】:

有根据的猜测:它可能是新项目的 .NET 框架目标版本。

System.Linq 是在 .NET Framework 3.5 上引入的。

转到项目 -> 属性 -> 应用程序并检查目标框架属性。大概是3.5之前的目标框架

【讨论】:

  • 实际情况可能并非如此。我在项目属性中的目标框架显示为 4.0,但我在一个 Web 项目中工作,并且 Web.config 在 标记上没有“targetFramework”属性。添加'targetFramework="4.0"',关闭项目,然后重新打开它为我修复了它。您也可以将属性切换到 3.5 再切换回 4.0,但这需要更多时间。
【解决方案2】:

您需要为 system.Core 添加引用。

【讨论】:

  • 为什么选择 System.Core.dll 而不是 System.Linq.dll?
  • @xr280xr 如果您仍然好奇,那是因为 System.Linq 命名空间定义实际上是在 System.Core 程序集中(在 System.Core.dll 中)。
  • 在 VS2019 (.NET 4.7.X) 中,无法(显式)添加此引用,失败并显示“无法添加对 'System.Core' 的引用。该组件已被自动引用由构建系统“
  • 全新的 Clean MVC 项目 .net 4.8,也给了我这个错误。我在这里尝试了几乎所有东西。巧合的是;如果我在 VB 中创建一个新的 MVC 项目,我不会丢失 Linq 错误。去图
  • 有很多原因,为什么一个人必须坚持使用 .NET 框架,而不是 Core,通常它不在他/她的手中。除此之外,如果不做一些工作,您就无法将 .NET 框架更改为 Core。因此,即使这可能有效,它也不是很有帮助,恕我直言。
【解决方案3】:
  • 步骤 1) 转到您的项目 Solution Explorer 并选择 参考文献
  • 步骤 2) 右键单击​​ References 并选择 Add Reference... 将出现一个表单
  • 步骤 3) 在搜索栏上搜索 linq
  • 步骤 4) 现在选择/勾选 System.XML.Linq 复选框
  • 步骤 5) 点击确定

【讨论】:

  • 有人已经提到过这个......但是我这样做时没有搜索栏......而且我找不到 System.XML.linq
  • 您需要对 System.Core 的引用才能使 Linq 在 .Net framework 4 中工作
  • 你拯救了我的一天
【解决方案4】:

如果您的文件位于 App_Code 文件夹中,请尝试将其移至另一个文件夹。对我来说它解决了这个问题。

【讨论】:

    【解决方案5】:

    您需要在解决方案资源管理器中右键单击解决方案,并在项目属性中添加对 System.Xml.Linq 和/或 System.Linq 的引用。

    这已经打击了我好几次 - 我在 System.Configuration 中也看到了很多。 (出于某种原因,这两个引用似乎特别挑剔)

    【讨论】:

    • 现在我遇到了 System.Linq 和 System.XML.Linq 不在浏览器中的问题... :(
    • 请注意 System.Linq 命名空间在 System.Core 程序集中,而不是 System.Xml.Linq
    • 这确实有效,我以为我使用的是 4.0 框架,当它设置为 2.0 时......所以这没有显示 System.XML.Linq
    【解决方案6】:

    对我来说,我尝试了这个并且成功了:

    项目==>添加参考 ==> 浏览 ==> C:\Windows\winsxs\x86_netfx35linq-system.core_31bf3856ad364e35_6.1.7601.17514_none_6161fc35ed136622\System.core.dll

    或者

    您可以在 Os System Drive 上使用 windows 搜索轻松找到 System.core.dll

    【讨论】:

      【解决方案7】:

      我遇到了类似的问题。我将我的 asp.net 项目升级到 .NET Framework 4.5.x 并且它工作正常。我确实先尝试了 4.5.1,然后尝试了 4.5.0,两者似乎都有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-22
        • 2020-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多