Microsoft Sync Framework COM类错误

Ada*_*ght 15 .net c# microsoft-sync-framework

我一直在使用"Microsoft Sync Framework 2.1"来将两个本地sql server 2008数据库与asp.net项目同步.

我的代码:

SqlConnection clientConn = new SqlConnection(@"Server=XXXXXX;User ID=sa; Password=xxxx;Database=ZzzClient");

SqlConnection serverConn = new SqlConnection("Server=XXXXXX;User ID=sa; Password=xxxx;Database=ZzzServer");

SyncOrchestrator syncOrchestrator = new SyncOrchestrator();

syncOrchestrator.LocalProvider = new SqlSyncProvider("InventoryScope", clientConn);
syncOrchestrator.RemoteProvider = new SqlSyncProvider("InventoryScope", serverConn);

syncOrchestrator.Direction = SyncDirectionOrder.UploadAndDownload;

SyncOperationStatistics syncStats = syncOrchestrator.Synchronize();
Run Code Online (Sandbox Code Playgroud)

但是在执行Synchronize()调用时出现以下错误;

由于以下错误,检索具有CLSID {EC413D66-6221-4EBB-AC55-4900FB321011}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)).

开发envoriement VS 2012,C#asp.net项目,框架4.5操作系统:Windows 7 Home Prem.(x64)的

已安装SyncSDK-v2.1-x64-ENU.

Microsoft.Synchronization

Microsoft.Synchronization.Data

Microsoft.Synchronization.Data.SqlServer

引用已从"C:\ Program Files\Microsoft Sync Framework\2.1\Runtime"添加到项目中.

两个数据库都由SqlSyncScopeProvisioning配置.

我已经尝试过Project Platform Target x64和x86

任何想法将不胜感激....

预配数据库

我已将"C:\ Program Files(x86)\ Microsoft SDKs\Microsoft Sync Framework"中的所有引用更改为"C:\ Program Files\Microsoft Sync Framework\2.1\Runtime"

新参考

并将平台目标设置为x64 平台目标

选择"使用本地IIS Web服务器" 本地IIS

更新: 我使用控制台应用程序尝试了相同的过程,它正常工作并同步所有数据.

我添加了四个对控制台应用程序的引用;

"c:\ Program Files\Microsoft Sync Framework\2.1\Runtime\x64\Microsoft.Synchronization.dll"

c:\ Program Files\Microsoft Sync Framework\2.1\Runtime\ADO.NET\V3.1\x64\Microsoft.Synchronization.Data.dll"

"c:\ Program Files\Microsoft Sync Framework\2.1\Runtime\ADO.NET\V3.1\x64\Microsoft.Synchronization.Data.Server.dll"

"c:\ Program Files\Microsoft Sync Framework\2.1\Runtime\ADO.NET\V3.1\x64\Microsoft.Synchronization.Data.SqlServer.dll"

并设置应用程序的调试属性如下 控制台应用程序的属性

相同的引用,相同的构建属性(目标到x64)和相同的代码在Asp.Net项目中不起作用.

无法加载文件或程序集"WebApplication2"或其依赖项之一.尝试加载格式不正确的程序.

我想,Web应用程序无法加载正确的程序集并尝试加载x86版本

Ada*_*ght 12

我讨厌回答自己的问题:

如果你开始它具有64位的Sync Framework组件的asp.net项目,但你是不是在管理员帐户下运行Visual Studio,VS无法加载Snyc Framework程序集.至少,这是我的问题..

如果您不是管理员VS无法正确管理"本地IIS Web服务器".

此外,如果我没错,即使您的操作系统是x64,"IIS Express"也无法加载x64 Sync Framework程序集.

不要费心使用"IIS express"只需在VS上使用具有管理员权限的"本地IIS Web服务器",并为您的项目设置平台目标x64.

在此输入图像描述