Microsoft.Synchronization.dll中出现“System.Runtime.InteropServices.COMException”类型的第一次机会异常

时间:2014-11-03 16:48:17

标签: c# visual-studio-2010 microsoft-sync-framework hresult

我正在使用Microsoft Sync 2.1 SDK进行开发 当我尝试从硬盘驱动器同步到外部硬盘驱动器(东芝1,5 Gb)时,我遇到了这个问题: 从我的开发环境(个人电脑)

Microsoft.Synchronization.dll中出现'System.Runtime.InteropServices.COMException'类型的第一次机会异常 从我的笔记本电脑(其他电脑)

由于以下错误,使用CLSID {....}的组件重新转换COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))

我在此网页上阅读了很多条目(例如:System.Runtime.InteropServices.COMException (0x80040154):) 解释问题,我的问题不是平台(x32 / x64)我的问题与注册有关,但我不知道如何在计算机中注册或运行“regsvr32.exe dll” 如何获取硬盘的COM对象? 如果我想使用其他外置硬盘,是否需要安装所有驱动程序的所有驱动程序?

我附上了所有错误消息:

SyncException Data: System.Collections.ListDictionaryInternal



SyncException Message:



SyncException InnerException: System.Runtime.InteropServices.COMException (0x80041007)
   at Microsoft.Synchronization.CoreInterop.ISyncSession.Start(CONFLICT_RESOLUTION_POLICY resolutionPolicy, _SYNC_SESSION_STATISTICS& pSyncSessionStatistics)
   at Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWaySyncHelper(SyncIdFormatGroup sourceIdFormats, SyncIdFormatGroup destinationIdFormats, KnowledgeSyncProviderConfiguration destinationConfiguration, SyncCallbacks DestinationCallbacks, ISyncProvider sourceProxy, ISyncProvider destinationProxy, ChangeDataAdapter callbackChangeDataAdapter, SyncDataConverter conflictDataConverter, Int32& changesApplied, Int32& changesFailed)

SyncException HelpLink: 

SyncException Source: Microsoft.Synchronization

SyncException StackTrace:    at Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWaySyncHelper(SyncIdFormatGroup sourceIdFormats, SyncIdFormatGroup destinationIdFormats, KnowledgeSyncProviderConfiguration destinationConfiguration, SyncCallbacks DestinationCallbacks, ISyncProvider sourceProxy, ISyncProvider destinationProxy, ChangeDataAdapter callbackChangeDataAdapter, SyncDataConverter conflictDataConverter, Int32& changesApplied, Int32& changesFailed)
   at Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWayKnowledgeSync(SyncDataConverter sourceConverter, SyncDataConverter destinationConverter, SyncProvider sourceProvider, SyncProvider destinationProvider, Int32& changesApplied, Int32& changesFailed)
   at Microsoft.Synchronization.KnowledgeSyncOrchestrator.Synchronize()
   at Microsoft.Synchronization.SyncOrchestrator.Synchronize()
   at Eric.Form1.Synchronize(String source, String destination)

SyncException TargetSite: Void DoOneWaySyncHelper(Microsoft.Synchronization.SyncIdFormatGroup, Microsoft.Synchronization.SyncIdFormatGroup, `enter codehere`Microsoft.Synchronization.KnowledgeSyncProviderConfiguration, Microsoft.Synchronization.SyncCallbacks, ISyncProvider, ISyncProvider, Microsoft.Synchronization.ChangeDataAdapter, Microsoft.Synchronization.SyncDataConverter, Int32 ByRef, Int32 ByRef)

感谢您的帮助! 弗兰克

1 个答案:

答案 0 :(得分:0)

如果您已正确安装了Sync Fx,则不必为DLL执行regsvr。错误主要是由于应用程序的目标平台与安装的Sync Fx平台不匹配。 (你不能拥有exe目标x64并安装x86 Sync Fx)。您需要在运行同步的计算机上安装Sync Fx,而不是在外部驱动器上