【发布时间】:2010-10-25 23:11:27
【问题描述】:
我刚刚在 Visual Studio 2010 中创建了一个 Linq-to-SQL .dbml 文件。
我收到以下 2 个错误,总共 60 次,大部分是第一次。
- 类型或命名空间名称“Linq” 命名空间“System.Data”中不存在
- 类型或命名空间 找不到名称“EntitySet”
我在这里和其他网站上发现了各种类似的问题,所有这些似乎都说需要添加一些额外的程序集。
我已添加所有建议的内容,但问题仍然存在。另一个奇怪的地方是 VS2010 本身并没有在编辑器屏幕中给错误加下划线,但它会在错误日志中显示它们。
无论如何,我已经看到了所有现有的主题并应用了他们的解决方案,问题仍然存在。
一些技术细节:
- 我正在运行 Windows 7 32 位。
- 我还有 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"/>
【问题讨论】:
-
目标框架是3.5吗? (如果这些是 C# 项目,您将在属性/应用程序中看到它。)
-
把它写成回复,我会给你解决方案。确实是这样……该死的。我只是不明白为什么。 .NET 4 默认不包含 3.5 中的内容吗?
-
我正要“提供”代表 steinar 的“答案”,但我不明白解决方案... :) 所以,您在 VS2010 中创建了一个新项目,添加一个新的 dbml 并看到错误?如果是这样,那是奇怪的。我刚刚用 3.5 和 4.0 进行了测试,所有必需的引用都是自动添加的。嗯……
-
是的,事情就是这样发生的。我所有的网站、解决方案、项目……它们都从目标框架 4.0 开始,当我将此网站切换到 3.5 时,所有错误都消失了。
标签: linq-to-sql visual-studio-2010