命名空间 'System.Data' 等中不存在类型或命名空间名称 'Linq' [英] The type or namespace name 'Linq' does not exist in the namespace 'System.Data' , etc

查看:14
本文介绍了命名空间 'System.Data' 等中不存在类型或命名空间名称 'Linq'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚在 Visual Studio 2010 中制作了一个 Linq-to-SQL .dbml 文件.

我收到以下 2 个错误,总共 60 次,主要是第一个.

  1. 类型或命名空间名称Linq"命名空间System.Data"中不存在
  2. 类型或命名空间找不到名称实体集"

我在这里和其他网站上发现了各种类似的问题,所有这些问题似乎都表明需要添加一些额外的程序集.

我已经添加了所有建议的内容,问题仍然存在.另一个奇怪的事情是 VS2010 本身没有在编辑器屏幕中为错误添加下划线,但它会在错误日志中显示它们.

无论如何,我已经看到了所有现有的主题并应用了他们的解决方案,问题仍然存在.

一些技术细节:

  • 我运行的是 32 位 Windows 7.
  • 我还有 Visual Studio 2008 SP1安装.我刚刚安装了 VS2010当它出来并没有删除时较旧的.
  • 我正在运行 MSSQL Server 2008 R2.

这是我的 web.config 文件中列出的程序集:

<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/><add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

解决方案

I found 这个链接 为我解决了这个问题.net是必须在web.config中添加以下内容:

<预><代码><配置><system.web><编译调试="true" targetFramework="4.0"><组件><add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/></组件></编译></system.web></配置>

注意configuration/system.web/compilation标签已经有了,需要添加assemblies/add assembly标签.即使 System.Data.Linq 在构建时很容易被 VS 找到.

失败发生在 App_Code.LinqToObservations.designer.cs,Linq 从我的 LinqToObservations.dbml 文件中生成的代码.

(附加背景:我可能陷入这种情况,因为我在使用此处找到的过程之后启用了 Linq.)

I just made a Linq-to-SQL .dbml file in Visual Studio 2010.

I'm getting the following 2 errors, a total of 60 times in total, mostly the first.

  1. The type or namespace name 'Linq' does not exist in the namespace 'System.Data'
  2. The type or namespace name 'EntitySet' could not be found

I've found various similar questions here and on other sites, all of which seem to say that some extra assembly needs to be added.

I've added every one suggested, the problem persists. Another odd thing is that VS2010 itself doesn't underline the errors in the editor screen, but it does show them in the error log.

Anyways, I've seen all the existing topics and applied their solutions, the problem persists.

Some technical details:

  • I'm running Windows 7 32-bit.
  • I still have Visual Studio 2008 SP1 installed. I just installed VS2010 when it came out and didn't remove the older one.
  • I'm running MSSQL server 2008 R2.

And here's the assemblies listed in my web.config file:

<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

解决方案

I found this link which solved it for me. The net is that the following must be added to web.config:

<configuration>
  <system.web>
     <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      </assemblies>
    </compilation>
   </system.web>
</configuration>

Note that the configuration/system.web/compilation tags are already there, and the assemblies/add assembly tags need to be added. This even though System.Data.Linq is readily found by VS when building.

The failure was in App_Code.LinqToObservations.designer.cs, code that's generated by Linq from my LinqToObservations.dbml file.

(Additional background: I likely got into this situation because I enabled Linq after the fact using the procedure found here.)

这篇关于命名空间 'System.Data' 等中不存在类型或命名空间名称 'Linq'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆