SQL Server CE 4.0部署问题 - 哪些文件是必需的?

Ben*_*Ben 6 c# sql-server-ce-4

我正在尝试部署一个使用SQL Server CE 4.0数据库的小型Windows窗体应用程序.我不希望运行此应用程序的每个系统都必须安装SQL Server CE 4.0,所以我试图获得应用程序中包含的任何所需的DLL.

当我检查引用列表时,SQL Server CE 4.0的唯一引用是System.Data.SqlServerCe.包含该DLL的DLL,System.Data.SqlServerCe.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

Aja*_*hal 4

在对 SQLCE 4.0 应用程序进行私有部署(即在应用程序文件夹中包含库)时,我们出现了相同的错误消息。

添加对项目的引用时,我们根据文档添加了 x64 和 x86 文件夹(以及关联的 dll)。

此时,我们得到了错误:

Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8876. Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.

在我们的环境中,我们发现amd64文件夹位于:

%Program Files%\Microsoft SQL Server Compact Edition\v4.0\Private

也需要。

将其添加到项目并引用包含的 dll 后,我们的问题得到了解决。