代码之家  ›  专栏  ›  技术社区  ›  Keith

命名空间“System.Data”中不存在类型或命名空间名称“Linq”。

  •  8
  • Keith  · 技术社区  · 15 年前

    我们在将项目部署到客户机的一个服务器时出错。系统在本地开发和登台环境中工作正常。错误是:

    命名空间“System.Data”中不存在类型或命名空间名称“Linq”。

    我们已经做了明显的检查: -我们在web.config中有system.data.linq、system.core、system.linq等的引用。 -我们项目的目标框架是3.5 -我们已确认客户端服务器上的IIS中的ASP.NET版本为2.0.50727 -我们已确认服务器已安装了框架3.5,并且在Windows/Assemblies文件夹中包含system.data.linq dll。

    还有其他想法吗?

    5 回复  |  直到 7 年前
        1
  •  16
  •   Ashby    7 年前

    从脚本构建项目时出现了相同的编译错误,而Visual Studio 2010构建相同的项目时出现了错误。当我试图从vs2010中添加system.core引用时,它返回一个错误,指出引用是隐式设置的,并且不会添加引用。

    我的解决方案是将以下引用手动添加到csproj文件中。注意,引用的目标框架显式设置为3.5(这位于项目目标框架设置为3.5的顶部):

    <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    
        2
  •  2
  •   Jason Marcell    15 年前

    here :'如果没有引用“system.core.dll”(包含核心LINQ API的程序集),则会出现此错误。但是,当您以.net3.5为目标时,所有默认模板都应包含此引用。

        3
  •  2
  •   Crab Bucket tik27    11 年前

    我在使用.NET 4.0开发VisualWebDeveloper2010中的网站时遇到了类似的问题。

    随钻测井 能够 查找的命名空间“system.linq” 应用程序代码中的文件 但是 对于中的文件 其他目录 . 奇怪但真实。

    “项目”是使用“打开网站”打开的,因此没有.csproj文件。

    复制:

    C:\程序文件\引用程序集\microsoft\framework\.netframework\v4.0\system.core.dll

    到网站 箱子 目录导致VWD为其他目录中的文件找到命名空间。

    希望它能帮助别人。

        4
  •  0
  •   Varun Shringarpure    11 年前

    我知道这个问题已经得到了解答,但为了弄清楚,为什么在Visual Studio中,当它试图在SVN或其他存储库中构建时,构建成功并面临问题?

    原因:它在调用生成系统时由IDE引用,而不是由msbuild本身引用。

    但是在添加引用之后 阿什比 如上所述,它肯定会工作得很好。 这个问题甚至在Visual Studio 2012期间仍然存在,正如我所知道的,是不是一切都正常。

    当做,

    瓦伦·施林加普

        5
  •  0
  •   NightShovel    11 年前

    我也有同样的问题,但根本原因不同。

    我在dbml的designer.cs文件中更改了名称空间声明。每当我通过设计器添加新对象时,Visual Studio都会还原命名空间声明,生成失败。

    只需将名称空间更改回它应该修复的问题。