我正在尝试部署一个使用 SQL Server CE 4.0 数据库的小型 Windows 窗体应用程序。我不希望运行此应用程序的每个系统都必须安装 SQL Server CE 4.0,因此我试图获取应用程序中包含的任何必需的 DLL。
当我查看参考列表时,SQL Server CE 4.0 的唯一参考是System.Data.SqlServerCe
. System.Data.SqlServerCe.dll
在尝试连接到数据库时,包括 DLL仍然会导致以下错误:
无法加载与版本 8876 的 ADO.NET 提供程序对应的 SQL Server Compact 的本机组件。安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。
我看过一些关于不同版本的 SQL Server CE 的文章,但据我所知,它们列出了其他版本的 DLL。应用程序将在其上运行的系统都应该至少安装有 .NET 4.0 的 Windows 7,如果这会有所不同的话。
我尝试了此处的步骤来添加文件,如链接所示:http ://erikej.blogspot.com/2011/02/using-sql-server-compact-40-with.html
使用构建中包含的这些文件,程序编译时不会出现任何错误,但是当在辅助系统上运行时,GUI 永远不会出现(公共 Form1() 的一部分包括从 SQL CE 数据库中获取数据的方法)和程序几秒钟后就关闭了。事件查看器显示此错误:
错误应用程序名称:Dispatch Review Assistant.exe,版本:1.0.0.0,时间戳:0x50915d3c 错误模块名称:KERNELBASE.dll,版本:6.1.7601.17932,时间戳:0x503285c2 异常代码:0xe0434352 错误偏移:0x000000000000caed 错误进程 id: 0x1028 错误应用程序启动时间:0x01cdb78c10761c73 错误应用程序路径:C:\Users\deLucain\Desktop\Release\Dispatch Review Assistant.exe 错误模块路径:C:\Windows\system32\KERNELBASE.dll 报告 ID:4e4f45e3-237f-11e2- bd76-14dae92102de