我正在尝试使用SQLCE运行应用程序。我正在运行的机器上安装了sql ce 3.5。但是,应用程序使用的是4.0+版本。当应用程序在机器上运行时,它会抛出已知的异常:
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..尽管我在ADO provider (System.Data.SqlServerCe.dll)的位置有amd64和x86文件夹。在阅读了微软文档:https://technet.microsoft.com/en-us/library/gg213826(v=sql.110).aspx下的:更新和私有部署部分后,我意识到CLR可能会加载旧的sql版本。
然而,我不知道如何让他加载私有部署程序集,因为我不确定我是否理解他们的提示来解决这个问题。
一些限制:我不能在机器上卸载sql ce 3.5。我无法使用集中部署安装更新版本。
有人上当了吗?
发布于 2017-10-25 15:31:28
您使用的是EF还是raw ADO.NET?CLR永远不会加载4.0而不是3.5,因为它们具有不同程序集版本,除非您有绑定重定向。
如果您在SQL CE4.0中使用EF,则可以使用我的“私有部署”包https://www.nuget.org/packages/EntityFramework.SqlServerCompact.PrivateDeployment/
如果您使用raw ADO.NET或LINQ to SQL,请参阅我的博客文章:http://erikej.blogspot.dk/2013/10/sql-server-compact-4-desktop-app-with.html
https://stackoverflow.com/questions/46925782
复制相似问题