这对我来说最不寻常。
此代码一直有效(几年),就在最近我开始收到此错误:
找不到方法: Void 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。
所以我不知道同一个程序集如何适用于一个构建而不是另一个构建。
提前致谢!
答案 0 :(得分:0)
这个答案实际上是一种解决方法而不是解决方案。我不知道为什么会遇到这个问题,但我发现在我的HD崩溃之前代码工作正常。当我不得不重建项目时(因为我缺少最近的备份),错误开始发生。
解决方法是使用较旧的项目,一个有效的项目,保持引用不变并复制新代码,直到它是最新的。所以现在我回来了,但我真的希望我知道为什么这个错误发生了,因为引用似乎是相同的。我需要放弃这种异常并继续生活。感谢阅读和学习这个伟大的道德教训......让你的项目备份!