在我们当前的Windows移动项目中,最近出现了调试问题。 尝试调试代码时,它会在与本地数据库的连接上的open命令上抛出异常。
消息为"A SQL Server Compact DLL could not be loaded. Reinstall SQL Server Compact Edition. [ DLL Name = sqlceqp35.dll ]"
。
有时这是一个未知的错误,参考同一个文件。
如果您在调试期间执行二进制文件,那就是deployd,它运行的设备没有任何问题。
我试过了: 在设备上重新安装.net和sqlce。 更改了项目中引用属性的“特定版本”。
我使用的硬件是带有Windows mobile 5.0的Motorola MC70。该项目的目标平台是windows mobile 5.0。
关于可能导致此问题的任何想法?
编辑:当我在MC75上尝试时,我可以调试它。 MC70获得操作系统版本:05.01.0478和MC75 05.01.0478。 我现在最好的猜测是,它与操作系统版本或实际设备有关。
答案 0 :(得分:1)
这可能是一个内存问题,当应用程序增长更多时,即使没有调试也会出现同样的问题。
让它运行的解决方法是在我们的情况下强制加载库,我们将以下代码添加到应用程序的开头。
IntPtr result = LoadLibrary(Path.Combine(sqlCeInstallPath, dllName));