Visual Studio 2008で、sqlserverのデータをクライアントのsqlceデータベース(SDFファイル)に同期するコンポーネントを持つ.net 3.5を使用してプロジェクトをセットアップしました。すべては、私は、Visual Studio 2010にプロジェクトをアップグレードすることを決めたまでは正常に動作し、現在は次のコードがクラッシュしました:私は取得Microsoft.Synchronization VS2010へのアップグレード後にSyncAgentがクラッシュする
try
{
MySyncAgent syncAgent = new MySyncAgent(filter);
SyncStatistics syncStats = syncAgent.Synchronize(); //this crashes
}
例外は次のとおりです。例外メッセージは= [オブジェクト参照オブジェクトのインスタンスに設定されていません。]:MICROSOFT.SYNCHRONIZATION.DATA.SQLSERVERCE.SQLCECLIENTSYNCPROVIDER.BEGINTRANSACTION AT MICROSOFT.SYNCHRONIZATION.DATA.SQLSERVERCE.SQLCECLIENTSYNCPROVIDER.PERFORMUPGRADEIFNECESSARY AT = [SYSTEM.DATA.SQLSERVERCE.SQLCECHANGETRACKING.UPGRADEPUBLICTRACKING AT(STRING用のConnectionString) STACKTRACE() (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をチェックしましたか?つまり、Sync fx以外のSqlCe Dbにアクセスできますか? –
はい、同期の問題とは別にsdfを開くことができます – steve