C# SQL Server CE 4.0 SP1中央部署

C# SQL Server CE 4.0 SP1中央部署,c#,.net,sql-server-ce,C#,.net,Sql Server Ce,我创建了一个使用SQLServerCE4.0SP1的应用程序。我尝试使用中央部署。因此,我在VisualStudio中使用add reference添加了对System.Data.SqlServerCe.dll(SQLServerCE4.0SP1)的引用 然后我试着在中运行应用程序 在只有.net 2.0和SQL Server CE 4.0 SP1的windows XP PC上。但它不起作用,并给出了如下错误 System.IO.FileNotFoundException:无法加载文件或程序集'

我创建了一个使用SQLServerCE4.0SP1的应用程序。我尝试使用中央部署。因此,我在VisualStudio中使用add reference添加了对
System.Data.SqlServerCe.dll
(SQLServerCE4.0SP1)的引用

然后我试着在中运行应用程序

  • 在只有.net 2.0和SQL Server CE 4.0 SP1的windows XP PC上。但它不起作用,并给出了如下错误

    System.IO.FileNotFoundException:无法加载文件或程序集'System.Data.SqlServerCe,版本=4.0.0.0,区域性=中性,PublicKeyToken=89845dcd8080cc91'或其依赖项之一。系统找不到指定的文件

  • 然后我在一台只有.NET2.0和SQLServerCE4.0的PC上进行了尝试。它工作正常


  • 那么,即使我添加了SQLServerCE4.0SP1的
    System.Data.SqlServerCe.dll
    ,它如何不适用于SQLServerCE4.0SP1呢?我错过了什么?是否需要将代码(.config)中的任何内容更改为目标4.0 SP1?

    SQL Server Compact 4.0需要.NET 3.5 SP1或更高版本。它不会运行只有.NET2.0的机器。请参见

    比特度差异?操作系统x64 vs x32?在引用程序集属性时设置
    Copy local=true
    。第一台电脑上SQL CE的安装已中断。重新安装/维修。确保在所有地方都引用程序集版本4.0.0.0(而不是4.0.0.1)。4.0和4.0之间没有api差异SP1@Steve操作系统相同(32位)@JesseJames如果我将copy local=true设置为仅system.Data.SqlServerCe.dll den,我将得到如下错误“无法加载与版本8854的ADO.NET提供程序对应的SQL Server Compact本机组件。安装SQL Server Compact的正确版本。有关更多详细信息,请参阅知识库文章974247。“如果我包含SQL ce安装文件夹(本机组件)中的所有dll,那么它可以工作。但这将是私有部署。我在这里提出了同样的问题,并且成功了。我签入了只有.net 2.0和.net 3.5 sp1以及SQL ce 4.0 sp1的pc,但它无法工作(在我以前的评论中提到)。但我的应用程序有目标framework 2.0。因此,现在我将在将目标framework更改为3.5后进行检查。此外,中央部署仅在安装了.net 2.0的情况下工作。中央部署也仅在安装了.net 2.0的情况下工作吗?!!再次在仅安装了.net 2.0和.net 3.5 sp1的pc中检查,并得到相同的错误(应用程序有目标framework 3.5)你能告诉我私人部署的.net要求吗(在客户端)。告诉开发者个人电脑的要求,但最重要的是客户方面的要求。对我来说,sql ce 4.0 sp1私有部署在win xp sp3中仅与.net 2.0配合使用。因此,请澄清所有这些疑问。另外,请检查我的最后评论。我检查了xp sp3个人电脑中的.net 2 sp2、3.0 sp2、3.5 sp1、4客户端和扩展版,但仍然出现相同的错误。然后在同一台pc上,未安装sql ce 4.0 sp1并安装了sql ce 4.0(不带sp1),它工作得很好。(如前所述)。我想知道为什么它与sql ce 4.0一起工作(但从开发人员pc上添加sql ce 4.0 sp1 dll作为参考)?那么大的问题是它如何与不带sp1的4.0一起工作??