在Vista 32位上访问SQL Compact数据库文件时出现问题

时间:2010-03-12 16:20:12

标签: sql-server-ce

我正在构建一个使用SQL Server Compact 3.5 SP1的C#Winforms / .NET 3.5 / Visual Studio 2008应用程序。构建setup / msi项目并在干净的XP机器上部署应用程序后,它可以正常工作。但是,当我在Vista 32位机器上安装它时,我收到以下错误:

System.DllNotFoundException: Unable to load DLL 'sqlceme35.dll': The specified module could not be found

应用程序安装正常,运行.exe时发生错误。在这两种情况下,System.Data.SqlServerCe.dll文件与exe一起位于应用程序目录中。我花了几个小时在谷歌搜索这个试图追查问题。到目前为止我发现它是Vista 64位上的一个已知问题,但我找不到任何在32位Vista上有问题的人。在Vista上遇到问题后,我将目标平台更改为x86,因为人们已经建议使用64位问题,但是这并没有解决问题。 SQL Compact 3.5是32位,所以我不明白为什么会在32位Vista上发生这种情况。

1 个答案:

答案 0 :(得分:0)

好的没有任何官方答案,所以要自己回答,尽管@ErikEJ在评论中提到了这一点。问题是我需要打包所有SQL CE DLL文件(下面列出)而不仅仅是System.Data.SqlServerCe.dll。一旦我这样做,问题就被排序了。

  • sqlceca35.dll
  • sqlcecompact35.dll
  • sqlceer35en.dll
  • sqlceoledb35.dll
  • sqlceqp35.dll
  • sqlcese35.dll