2010-03-05 80 views
2

SqlServerCe似乎在.net 4.0中不受支持。但由于我需要在应用程序中使用嵌入式数据库,因此我收集了所有必需的3.5 dll并将它们包含在内,以便我的wpf应用程序可以使用SqlServerCe作为其嵌入式数据库。在.Net 4.0中使用SqlServerCe的问题

的应用作品在我的开发机器上,但现在,我已经创建了一个安装程序,安装我在其他机器上的应用程序,我不断收到关于软管机此异常:


无法加载DLL'sqlceme35.dll':此应用程序无法启动,因为应用程序配置不正确。重新安装该应用程序可能会解决此问题。 (从HRESULT异常:0x800736B1)


即安装该应用程序,其中DLL被肯定包括在目录中。我甚至尝试将所有相关的SqlServerCE dll复制到System 32文件夹。目前为止我没有尝试过解决这个问题。

有什么建议吗?

+0

我有一个类似的经验,试图安装一个ClickOnce应用程序,我在上周末使用VS 2010RC在x64 Windows 7上开发。 SqlServerCe引发异常。 – jnoss 2010-03-05 18:49:14

回答

1

我刚刚重新编译了一个应用程序,我使用.NET 4.0中的SQL Server CE 3.5.1,它工作得很好。这里有几件事要检查:

  1. 你是否在你的安装程序中包含所有的SQL 服务器CE DLL? 有7个,而不仅仅是1个。其他的是本地DLL,它们是SQL Server CE的实际核心。
  2. SQL 服务器CE具有x86和x64版本 DLL。您是否正在使用正确的 版本的操作系统,您是否正在安装 ?
+0

我现在只是在32位上安装。以下是我已经包括了dll文件: | - System.Data.SqlServerCe.Entity.dll | - System.Data.SqlServerCe.dll | - dpDatabase.sdf | - sqlceca35.dll | - - sqlcecompact35.dll | - sqlceer35EN.dll | - sqlceme35.dll | - sqlceoledb35.dll | - sqlceqp35.dll | - sqlcese35.dll – 2010-03-05 19:37:34

+0

我给你检查,但我的解决办法是下面: – 2010-03-10 05:48:04

1

我解决我的问题,通过安装:

微软的SQL Server Compact 3.5 Service Pack 2的Beta 2的Windows桌面:

1

我通过安装微软的Visual C解决了这个问题++ 2008可再发行组件包(x86)

0

在我的情况下,\ bin \ amd64 \ Microsoft.VC90.CRT分别\ bin \ x86 \ Microsoft.VC90.CRT中的Microsoft.VC90.CRT.manifest丢失。在部署解决方案时,默认情况下它不属于发行版,但在某些服务器上似乎是必需的。