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服务器"

更新: 我使用控制台应用程序尝试了相同的过程,它正常工作并同步所有数据.
我添加了四个对控制台应用程序的引用;
"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.

| 归档时间: |
|
| 查看次数: |
9031 次 |
| 最近记录: |