C# 在.Net 4.0中使用SqlServerCe时出现问题

C# 在.Net 4.0中使用SqlServerCe时出现问题,c#,.net-4.0,sql-server-ce,C#,.net 4.0,Sql Server Ce,SqlServerCe在.net 4.0中似乎不受支持。但由于我的应用程序中需要一个嵌入式数据库,所以我收集了所有必要的3.5 DLL并将其包括在内,以便我的wpf应用程序可以使用SqlServerCe作为其嵌入式数据库 该应用程序在我的开发机器上运行,但现在我已经创建了一个安装程序,并且正在其他机器上安装该应用程序,我在软管机器上不断遇到此异常: 无法加载DLL“sqlceme35.DLL”:由于应用程序配置不正确,此应用程序无法启动。重新安装应用程序可能会解决此问题。(HRESULT的异常

SqlServerCe在.net 4.0中似乎不受支持。但由于我的应用程序中需要一个嵌入式数据库,所以我收集了所有必要的3.5 DLL并将其包括在内,以便我的wpf应用程序可以使用SqlServerCe作为其嵌入式数据库

该应用程序在我的开发机器上运行,但现在我已经创建了一个安装程序,并且正在其他机器上安装该应用程序,我在软管机器上不断遇到此异常:


无法加载DLL“sqlceme35.DLL”:由于应用程序配置不正确,此应用程序无法启动。重新安装应用程序可能会解决此问题。(HRESULT的异常:0x800736B1)


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


有什么建议吗?

我刚刚重新编译了一个应用程序,它在.NET 4.0中使用了SQL Server CE 3.5.1,运行正常。以下是一些需要检查的事项:

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

  • 我通过安装以下设备解决了问题:


    <微软Windows SQL Server Cype 3.5服务包2为Windows桌面:

    < P>我通过安装微软Visual C++ 2008可再分发包(x86)

    解决了这个问题,在我的例子中,从\bin \AMD64 \微软.VC90.CRT分别显示\\bin \x86微软.VC90.CRT。在部署您的解决方案时,默认情况下,它不是版本的一部分,但在某些服务器上,它似乎是必要的。

    上周末,我曾尝试在x64 Windows 7上安装我使用VS 2010RC开发的ClickOnce应用程序。SqlServerCe引发了一个异常。我现在正在32位上安装。以下是我包含的dll:|--System.Data.SqlServerCe.Entity.dll |--System.Data.SqlServerCe.dll |--dpDatabase.sdf |--sqlceca35.dll |--sqlcecompact35.dll |--sqlceme35.dll |--sqlceme35.dll |--sqlceoledb35.dll |--sqlcee35.dll李给了您检查,但我的解决方案如下: