如何正确解决Can't find PInvoke DLL 'sqlceme35.dll'

How to properly resolve Can't find PInvoke DLL 'sqlceme35.dll'

免责声明:对于任何 .Net,我都是一个菜鸟,但我必须为我正在从事的项目而努力。

我看到这里已经有一些帖子,但没有关于如何解决这个问题的完整答案。我收到此警告:

Can't find PInvoke DLL 'sqlceme35.dll'

尝试从 Visual Studio 部署到 Windows Mobile 6.5.3 模拟器 时(我使用 C# 进行编码)。我显然正在为应用程序使用 Sql Server CE。我看到它可以很好地部署到模拟器 运行 较旧版本的 Windows Mobile(即 5.0)。

有人可以解释一下吗?

sqlceme35.dll 不是标准 Windows Mobile SDK 安装的一部分,需要单独安装(参见 https://www.microsoft.com/en-us/download/details.aspx?id=8831) and deployed manually (copy and install CAB file from your PC after install, see https://msdn.microsoft.com/en-us/library/13kw2t64%28v=vs.90%29.aspx)。

在您的情况下,您需要从 wce500 子目录安装 cab 文件。 ("drive:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce400 or wce500\CPU architecture type").

尽管站点 https://technet.microsoft.com/en-us/library/ms172361%28v=sql.105%29.aspx 声明 SQL 服务器 CE 运行时将自动部署,但情况并非总是如此。因此,最好是在 运行 依赖于它们的应用程序之前手动安装运行时。

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i

获取以下 cab 文件:

  • sqlce.wce5.armv4i.CAB
  • sqlce.repl.ppc.wce5.armv4i.CAB
  • sqlce.ppc.wce5.armv4i.CAB
  • sqlce.dev.ENU.wce5.armv4i.CAB

将它们安装到掌上电脑的 Program files 目录中。安装完成后,您将看到一个名为 "Microsoft SQL Server Compact Edition" 的文件夹。它将包含您的应用程序使用的 dll。