因此,我今天花了相当一段时间与sql lite,并看到.net4提供商非常不稳定。所以我想我会用SqlCE。它应该有一个零配置/安装,而不是它的最困惑的方式来部署的东西。错误,同时部署sql server compact 3.5 sp2私人
我查了许多SO问题,而这些文章: http://blogs.msdn.com/b/stevelasker/archive/2008/10/22/privately-deploying-sql-server-compact-with-the-ado-net-entity-provider.aspx
A更多更新的简短指南:
http://robindotnet.wordpress.com/2010/02/28/how-to-deploy-the-sqlserver-compact-edition-software-locally/
因此,这里是我的问题,没有<runtime>
标记一下,在我的DEV机器上工作,但不在没有SqlCE运行时的XPSp3上工作。它给了我一个FileIOLoadException
WITH的<runtime
>标签它适用于XPSP3,但在我的dev的盒子,它说:
无法加载文件或程序集“System.Data.SqlServerCe,版本= 3.5.1.50,文化=中立,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的例外:0x80131040)
我检查了this answer但我非常困惑。另外,显然msdn博客文章已关闭,您需要将7个dll全部包含在一起。 System.Data.SqlServerCe.dll
和System.Data.SqlServerCe.Entity.dll
都来自安装运行时的名为“Private”的文件夹。
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.3.5"></remove>
<add name="Microsoft SQL Server Compact Data Provider"
invariant="System.Data.SqlServerCe.3.5"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="3.5.1.0-3.5.1.50" newVersion="3.5.1.50"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
世界上这个零配置怎么样!?我不知道什么是错误的,也不知道我做了什么,使它正确吗?这里没有任何文档除了一些旧的博客吗?
只是简单地说,一旦我需要部署,我只是想能够xcopy EXE和其他文件,它应该工作。所以在哪里是参考/ MSDN /文档/一步一步的如何部署?
此外,sqlce将工作在只有.net4安装的盒子上吗?