我一直在玩「微軟同步框架2.1」同步兩個本地SQL Server 2008數據庫與一個asp.net項目。微軟同步框架COM類錯誤
我的代碼:
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();
,但我得到以下錯誤,當同步()被執行通話;
Retrieving the COM class factory for component with CLSID {EC413D66-6221-4EBB-AC55-4900FB321011} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
發展envoriement VS 2012,C#asp.net項目,框架4.5 操作系統:Windows 7家庭炳廷。 (x64)
安裝了SyncSDK-v2.1-x64-ENU。
Microsoft.Synchronization
Microsoft.Synchronization.Data
Microsoft.Synchronization.Data.SqlServer
加入引用從「C項目:\ Program Files文件\ Microsoft同步框架\ 2.1 \運行」。
兩個由SqlSyncScopeProvisioning設置的數據庫。
我已經試過項目平臺目標兩個不同的x64 ANS 86
任何想法,將不勝感激....
我已經改變了從「C的所有引用: \ Program Files \ Microsoft Files \ Microsoft Sync Framework \ 2.1 \ Runtime「\ Program Files \ x86 \ Microsoft SDK \ Microsoft Sync Framework」
和平臺目標設置爲64
「使用本地IIS Web服務器」 選擇
UPDATE: 我想同樣的過程與控制檯應用程序,它正常工作並同步所有數據。
我在控制檯應用程序中添加了以下四個引用:
「C:\ Program Files文件\ Microsoft同步框架\ 2.1 \運行\ 64 \ Microsoft.Synchronization.dll」
C:\ Program Files文件\ Microsoft同步框架\ 2.1 \運行\ 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 \ 64 \ Microsoft.Synchronization.Data.SqlServer.dll」
和設置應用程序的調試屬性如下
相同的標號,相同的生成屬性(目標64)和相同的代碼無法正常工作在Asp.Net項目
Could not load file or assembly 'WebApplication2' or one of its dependencies. An attempt was made to load a program with an incorrect format.
我猜,Web應用程序無法加載正確的組件和嘗試加載86版本
不應該參考組件在Program Files文件,而不是程序文件(x86)?你在IIS或VS Web服務器上運行它嗎? – JuneT
我試了兩種。如果我通過VS添加引用添加這些引用,它來自Program Files(x86)\ Microsoft SDKs \ Microsoft Sync Framework \ 2.1 \ Runtime。我手動刪除了「Program Files(x86)」,並從C:\ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ x64瀏覽器中添加了一個。相同的結果.... –
VS 2012顯示並添加「Microsoft.Synchronization」程序集「程序文件(x86)」,而不是如果我手動添加程序集「C:\ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ x64「,我得到」無法加載文件或程序集'DataAccess'或它的一個依賴項,試圖加載一個格式不正確的程序。「錯誤。 –