【问题标题】:A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Synchronization.dllMicrosoft.Synchronization.dll 中出现了“System.Runtime.InteropServices.COMException”类型的第一次机会异常
【发布时间】:2014-11-03 16:48:16
【问题描述】:

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

“System.Runtime.InteropServices.COMException”类型的第一次机会异常发生在 Microsoft.Synchronization.dll 中 从我的笔记本电脑(其他计算机)

检索具有 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)

感谢您的帮助! 弗兰克

【问题讨论】:

  • sn-p 中的错误是 SYNC_E_ITEM_MUST_EXIST,“同步提供程序报告其副本中不存在项目,尽管该项目的创建版本包含在该提供程序的知识中”。您所说的错误是完全不同的,它表明计算机没有安装 Windows Sync 或您的程序正在 32 位模式下运行。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 2012-10-29
    • 2011-09-11
    • 2011-08-30
    • 2014-06-28
    • 2013-04-20
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多