获取“sqlceqp35.dll”调试时出错,但运行部署的代码时不会出错

发布于 2024-08-18 15:01:28 字数 539 浏览 3 评论 0原文

在我们当前的Windows Mobile项目中,最近在调试时出现了一个问题。 当尝试调试代码时,它会在与本地数据库的连接上的打开命令上引发异常。

该消息为“无法加载 SQL Server Compact DLL。重新安装 SQL Server Compact Edition。[DLL 名称 = sqlceqp35.dll ]”。 有时,它是一个未知错误,引用同一文件。

如果您执行在调试期间部署的二进制文件,则它在设备上运行不会出现任何问题。

我尝试过: 在设备上重新安装 .net 和 sqlce。 更改了项目中参考属性的“特定版本”。

我使用的硬件是带有 Windows mobile 5.0 的 Motorola MC70。该项目的目标平台是windows mobile 5.0。

关于可能导致此问题的任何想法?

编辑:当我在 MC75 上尝试时,我可以调试它。 MC70 的操作系统版本为:05.01.0478,MC75 的操作系统版本为 05.01.0478。 我现在最好的猜测是,它与操作系统版本或实际设备有关。

In our current windows mobile project a problem while debugging recently arised.
When trying to debug the code it throws an exception on the open command on a connection to the local database.

The message is "A SQL Server Compact DLL could not be loaded. Reinstall SQL Server Compact Edition. [ DLL Name = sqlceqp35.dll ]".
Sometime it's an unknow error instead, with reference to the same file.

If you execute the binary, thats deployd during the debug, on the device it runs without any problem.

I've tried:
Reinstall both .net and sqlce on the device.
Changed the "specific version" on the reference properties in the project.

The hardware I'm using is a Motorola MC70 with Windows mobile 5.0. The target platform of the project is windows mobile 5.0.

Any ideas on what might cause this problem?

EDIT: When I tried it on a MC75 I can debug it. The MC70 got OS Version: 05.01.0478 and the MC75 05.01.0478.
My best guess now is that it's someway related to the OS version or the actual device.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回眸一遍 2024-08-25 15:01:28

这可能是一个内存问题,当应用程序增长一点时,即使不进行调试也会出现相同的问题。

让它运行的一个解决方法是强制加载库,在我们的例子中,我们将以下代码添加到应用程序的开头。

IntPtr result = LoadLibrary(Path.Combine(sqlCeInstallPath, dllName));

This was probably a memory issue, when the application had grown a bit more the same problems arised even when not debugging.

A workaround to get it to run was to force a load of the library in our case we added the following code to the start of our application.

IntPtr result = LoadLibrary(Path.Combine(sqlCeInstallPath, dllName));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文