0

我在Visual Studio 2008中使用.net 3.5建立了一个项目,该项目有一个组件,用于将数据从我的sqlserver同步到客户端的sqlce数据库(SDF文件)。一切工作正常,直到我决定升级项目到Visual Studio 2010,而现在下面的代码崩溃:Microsoft.Synchronization SyncAgent在升级到VS2010后崩溃

try 
     { 
      MySyncAgent syncAgent = new MySyncAgent(filter); 
      SyncStatistics syncStats = syncAgent.Synchronize(); //this crashes 
     } 

的例外,我得到的是:异常消息= [对象引用不设置到对象的实例]:堆栈跟踪= [AT SYSTEM.DATA.SQLSERVERCE.SQLCECHANGETRACKING.UPGRADEPUBLICTRACKING(STRING的connectionString) AT MICROSOFT.SYNCHRONIZATION.DATA.SQLSERVERCE.SQLCECLIENTSYNCPROVIDER.PERFORMUPGRADEIFNECESSARY() AT MICROSOFT.SYNCHRONIZATION.DATA.SQLSERVERCE.SQLCECLIENTSYNCPROVIDER.BEGINTRANSACTION(SYNCSESSION SYNCSON) AT MICROSOFT.SYNCHRONIZATION.SYNCAGENT.DATASYNCHRONIZE() AT MICROSOFT.SYNCHRONIZATION.SYNCAGENT.SYNCHRONIZE()

我错过了什么?

仅供参考,我MySyncAgent类的构造函数如下:

public class MySyncAgent : Microsoft.Synchronization.SyncAgent 
{ 
public MySyncAgent(string filter) 
    { 
     this.InitializeSyncProviders(filter); 
     this.InitializeSyncTables(); 
    } 
} 
+0

非常高兴能够为我们带来整个堆栈跟踪。你真的不应该有。 – 2012-04-15 19:43:22

+0

你检查过你的ConnectionString吗?也就是说,除了Sync fx之外,您还可以访问SqlCe Db吗? – 2012-04-15 19:45:33

+0

是的,可以从同步问题打开sdf – steve 2012-04-16 12:59:55

回答

0

尝试升级您的SQL CE 3.5 SP2。

+0

它已在客户端和服务器上升级 – steve 2012-04-16 13:00:10

+1

您可以验证Sync框架程序集的项目引用是否指向2.1版本? – JuneT 2012-04-17 03:45:41

+0

谢谢,那是问题所在! – steve 2013-03-07 21:24:24

相关问题