我在Visual Studio 2008中使用.net 3.5设置了一个项目,该项目具有一个组件,用于将我的sqlserver中的数据同步到客户端sqlce数据库(SDF文件)。一切正常,直到我决定将项目升级到Visual Studio 2010,现在以下代码崩溃了:
try
{
MySyncAgent syncAgent = new MySyncAgent(filter);
SyncStatistics syncStats = syncAgent.Synchronize(); //this crashes
}
我得到的例外是:EXCEPTION MESSAGE = [对象参考没有设置为对象的实例。]:STACKTRACE = [在SYSTEM.DATA.SQLSERVERCE.SQLCECHANGETRACKING.UPGRADEPUBLICTRACKING(STRING CONNECTIONSTRING) AT MICROSOFT.SYNCHRONIZATION.DATA.SQLSERVERCE.SQLCECLIENTSYNCPROVIDER.PERFORMUPGRADEIFNECESSARY() AT MICROSOFT.SYNCHRONIZATION.DATA.SQLSERVERCE.SQLCECLIENTSYNCPROVIDER.BEGINTRANSACTION(SYNCSESSION SYNCSESSION) AT MICROSOFT.SYNCHRONIZATION.SYNCAGENT.DATASYNCHRONIZE() 在MICROSOFT.SYNCHRONIZATION.SYNCAGENT.SYNCHRONIZE()
我错过了什么?
作为参考,我的MySyncAgent类构造函数如下所示:
public class MySyncAgent : Microsoft.Synchronization.SyncAgent
{
public MySyncAgent(string filter)
{
this.InitializeSyncProviders(filter);
this.InitializeSyncTables();
}
}
答案 0 :(得分:0)
尝试将SQL CE升级到3.5 SP2。