找不到命名空间'System.Data.SqlServerCe'

24

我已经包含了 System.Data.SqlServerCe dll,并在我的代码中加入了 using System.Data.SqlServerCe;,但是当我打开 .NET 页面时,出现以下错误:

类型或命名空间名 'SqlServerCe' 在命名空间 'System.Data' 中不存在(您漏掉了一个程序集引用吗?)

我不知道如何修复这个问题。先感谢您的帮助。

6个回答

25

以下两点可以解决此问题:

  1. 检查您的应用程序的References文件夹中是否已添加了System.Data.SqlServerCe命名空间。如果没有添加该命名空间,则可以右键单击引用文件夹并选择添加引用选项。在弹出窗口中,转到.Net选项卡,从列表中选择System.Data.SqlServerCe,然后单击“确定”将该命名空间添加到项目中。
  2. 如果您完成了第一步,还需在使用System.Data.SqlServerCe命名空间的代码后台文件的顶部添加using System.Data.SqlServerCe;

20
如果您在标准列表中找不到该参考,请浏览至 C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Desktop 并从那里选择它。请注意,不要改变原文意思,只需使翻译更加通俗易懂。 - JsonStatham
4
你也可以通过 NuGet 包 "Microsoft.SqlServer.Compact" 在 https://www.nuget.org/packages/Microsoft.SqlServer.Compact/ 中获取 System.Data.SqlServerCe v4。 - Peaeater

14

如果你已经有了对 System.Data.SqlServerCe 的引用,但是在它旁边看到一个黄色符号,那么你应该:

  • 通过右键单击来删除该引用。
  • 重新添加引用。

重新添加引用: 右键单击“引用”文件夹,选择“添加引用...”选项。 在左侧窗格中选择程序集|框架选项,然后在右侧窗格中滚动到System.Data.SqlServerCe。 如果找到了它,请点击它,然后务必在点击OK之前勾选旁边的复选框。

如果列表中没有System.Data.SqlServerCe,那么你就需要在计算机上浏览它。 要这样做,请单击“添加引用...”对话框中的“浏览...”按钮,尝试查找此文件夹:C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\

C:\Program Files\Microsoft SQL server Compact edition\v3.5\Desktop
或者
C:\Program Files\Microsoft SQL server Compact edition\v4.0\Desktop

(以上示例中的v#.#值可能在您阅读时有所不同,因此首先导航到 C:\Program Files\Microsoft SQL server Compact edition\,然后选择最新版本或特定版本(如果您知道应该是什么版本).)

浏览找到后,选择System.Data.SqlServerCe.dll文件,然后点击“确定”退出,尝试重新编译。


3

安装SQL Compact Server,然后直接从Microsoft Compact DataBase/Program文件夹中添加system.data.SqlServerCe.dll引用。

您缺少dll文件。

我相信您已经解决了这个问题。


1

请检查您的web.config文件是否有任何与此相关的引用,并进行更正。可能是您定义错误的别名。

这个答案可能会解决您的问题。


我该如何添加这个?我已经尝试过:<add assembly="System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>,但它返回了无法加载文件或程序集“System.Data.SqlServerCe, Version = 3.5.1.0, Culture = neutral, PublicKeyToken = b77a5c561934e089”或它的某一个依赖项。系统找不到指定的文件。 - Jack
1
看看 @nvrtheless 的回答。你是否已经添加了 dll 的引用? - Anirudh Ramanathan
请参见 https://dev59.com/FXNA5IYBdhLWcg3wgeEd。这应该可以解决你的问题。 - Anirudh Ramanathan
请验证您的 web.config 文件的其余部分,以确保您没有以冲突的方式重新声明命名空间。 - Anirudh Ramanathan

0
使用NuGet很简单。
NuGet\Install-Package Microsoft.SqlServer.Compact -Version 4.0.8876.1

0

这个回答有点晚了。但我也遇到了同样的问题。
我正在使用 Visual Studio 2012Visual Studio 2017,我在这里找到了 System.Data.SqlServerCe
两个版本都在同一个目录下。

我编辑了 @JesiMov 的回答。

右键单击引用文件夹,选择添加引用...选项。
在左侧窗格中转到程序集|扩展选项,然后在右侧窗格中滚动到 System.Data.SqlServerCe。


1
我在我的VS 2017中没有找到它,你使用的是哪个.NET版本? - Leon Barkan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接