MS Sync/SQL Server Compact 代码在最新版本 SQL Compact 3.5 中失败
Posted
技术标签:
【中文标题】MS Sync/SQL Server Compact 代码在最新版本 SQL Compact 3.5 中失败【英文标题】:MS Sync/SQL Server Compact code fails in latest build, SQL Compact 3.5 【发布时间】:2015-12-21 23:48:52 【问题描述】:这对我来说是最不寻常的。
这段代码一直有效(几年),就在最近我开始收到这个错误:
找不到方法: 无效 Microsoft.Synchronization.Data.SqlServerCe.SqlCeSyncProvider..ctor(System.String, System.Data.SqlServerCe.SqlCeConnection)'。
我认为可能导致它的主要变化之一是将目标框架更改为 .Net 4.6。但是改回4.5.2后,还是有这个问题。
我正在使用这一行调用一个类:
e.Result = SyncLogic.Synchronize(e.Argument.ToString());
但是,它没有进入这个类 (SyncLogic
),我假设冲突的行是这样的:
orch = new SyncOrchestrator
RemoteProvider = new SqlSyncProvider(scopeName, sqlServerConn),
LocalProvider = new SqlCeSyncProvider(scopeName, sqlCeConn),
Direction = SyncDirectionOrder.Download
;
我安装了相同的应用程序(在我的开发电脑上)并且运行良好。使用反汇编程序,它似乎使用相同版本的Microsoft.Synchronization.Data.SqlServerCe
,即 3.1.0.0,运行时版本 v2.0.50727。
所以我不知道同一个程序集如何适用于一个构建而不是另一个。
提前致谢!
【问题讨论】:
您能否澄清一下:“出错”与“工作正常”?也许“其他”安装中缺少某些运行时组件? @ErikEJ 我不确定我知道如何回答你 Erik,除了说安装的应用程序,v. 4.46,同步没有任何错误。我昨天刚刚测试了这个。但是对于我当前的项目,它无法运行此代码。我不知道我做了什么,或者发生了什么改变来打破长期以来一直在工作的东西。 【参考方案1】:这个答案实际上是一种解决方法而不是解决方案。我不知道为什么会出现这个问题,但我发现在我的 HD 崩溃之前代码可以工作。当我不得不重建项目时(因为我缺少最近的备份),错误开始发生。
解决方法是采用旧项目,一个有效的项目,保持引用完整并复制新代码,直到它是最新的。所以现在我又开始行动了,但我真的希望我知道为什么会发生这个错误,因为引用似乎是相同的。我需要放弃这种异常并继续生活。感谢您阅读和学习这个伟大的道德课程...保持您的项目备份!
【讨论】:
以上是关于MS Sync/SQL Server Compact 代码在最新版本 SQL Compact 3.5 中失败的主要内容,如果未能解决你的问题,请参考以下文章
需要用经典 ASP (VB) 替换 Server 2012 上的 MS 索引服务
[MS SQL Server]SQL Server如何开启远程访问