我正在使用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)
感谢您的帮助! 弗兰克
答案 0 :(得分:0)
如果您已正确安装了Sync Fx,则不必为DLL执行regsvr。错误主要是由于应用程序的目标平台与安装的Sync Fx平台不匹配。 (你不能拥有exe目标x64并安装x86 Sync Fx)。您需要在运行同步的计算机上安装Sync Fx,而不是在外部驱动器上