调用构造函数时 Microsoft.Synchronization.Data.SqlServerCe 中缺少方法异常

Missing Method Exception in Microsoft.Synchronization.Data.SqlServerCe when calling constructor

我正在使用 Visual Studio Community 2015 并尝试执行有关如何将 SQL 服务器数据库与本地 SQL Server Compact 数据库同步的 MSDN 演练。

具体来说,当我尝试构建演练的 ProvisionClient 组件时遇到 "Missing Method" 异常 (https://msdn.microsoft.com/en-us/library/ff928765(v=sql.110).aspx)

准确的错误是:

An unhandled exception of type 'System.MissingMethodException' occurred in dnx.host.dll

Additional information: Method not found: 'Void Microsoft.Synchronization.Data.SqlServerCe.SqlCeSyncScopeProvisioning..ctor(System.Data.SqlServerCe.SqlCeConnection, Microsoft.Synchronization.Data.DbSyncScopeDescription)'.

这是我的代码:

using System.Data.SqlClient;
using System.Data.SqlServerCe;

using Microsoft.Synchronization.Data;
using Microsoft.Synchronization.Data.SqlServer;
using Microsoft.Synchronization.Data.SqlServerCe;

namespace ProvisionClient
{
    class Program
    {
        static void Main(string[] args)
        {
            // create a connection to the SyncCompactDB database
            SqlCeConnection clientConn = new SqlCeConnection(@"Data Source='C:\proj\synctest\SyncSQLServerAndSQLCompact\SyncCompactDB.sdf'");

            // create a connection to the SyncDB server database
            SqlConnection serverConn = new SqlConnection("Data Source=SHRIMAD\SQLEXPRESS; Initial Catalog=SyncDB; Integrated Security=True");

            // get the description of ProductsScope from the SyncDB server database
            DbSyncScopeDescription scopeDesc = SqlSyncDescriptionBuilder.GetDescriptionForScope("ProductsScope", serverConn);

            // create CE provisioning object based on the ProductsScope
            SqlCeSyncScopeProvisioning clientProvision = new SqlCeSyncScopeProvisioning(clientConn, scopeDesc);

            // starts the provisioning process
            clientProvision.Apply();

        }
    }
}

我注意到在线:

// create CE provisioning object based on the ProductsScope
SqlCeSyncScopeProvisioning clientProvision = new SqlCeSyncScopeProvisioning(clientConn, scopeDesc);

如果我调用只有scopeDesc的构造函数,那么异常不会出现,但是如果我用clientConn调用下面的clientProvision.Apply,那么我获取 Apply 行缺少的方法异常。

我做错了什么?看起来它不想接受 clientConn 参数,但没有它就不知道要提供什么数据库。

TIA,这是我在 Whosebug 上的第一个 post!

Sync Framework 不支持 SQL CE 4.0。

看看我在博客 here 中使用绑定重定向的解决方法。