【问题标题】:Microsoft.Synchronization SyncAgent crashing after upgrade to VS2010Microsoft.Synchronization SyncAgent 升级到 VS2010 后崩溃
【发布时间】:2012-04-15 19:32:49
【问题描述】:

我在 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 = [OBJECT REFERENCE NOT SET TO an instance of an OBJECT.] : STACKTRACE = [ AT 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() AT MICROSOFT.SYNCHRONIZATION.SYNCAGENT.SYNCHRONIZE()

我错过了什么?

作为参考,我的 MySyncAgent 类构造函数如下所示:

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

【问题讨论】:

  • 很高兴你为我们利用了整个堆栈跟踪。你真的不应该有。
  • 您检查过您的 ConnectionString(s) 吗?即除了 Sync fx 之外,您可以访问 SqlCe Db 吗?
  • 是的,除了同步问题,还可以打开 sdf

标签: c# visual-studio-2010 sql-server-ce microsoft-sync-framework


【解决方案1】:

尝试将您的 SQL CE 升级到 3.5 SP2。

【讨论】:

  • 您能否验证对 Sync 框架程序集的项目引用是否指向 2.1 版本?
  • 谢谢,这就是问题所在!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-04
  • 1970-01-01
  • 2017-12-28
  • 2019-05-12
  • 1970-01-01
  • 2011-05-16
  • 2021-05-02
相关资源
最近更新 更多