我正在使用Visual Studio Community 2015并尝试执行有关如何将SQL Server数据库与本地SQL Server Compact数据库同步的MSDN演练。
具体来说,当我尝试构建演练的ProvisionClient
组件(https://msdn.microsoft.com/en-us/library/ff928765(v=sql.110).aspx)
确切的错误是:
dnx.host.dll中出现未处理的“System.MissingMethodException”类型异常
其他信息:找不到方法:'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
的构造函数,则异常不会显示,但如果我使用clientProvision.Apply
调用以下clientConn
,那么我会得到Apply
行缺少方法异常。
我做错了什么?看起来它不想接受clientConn
参数,但如果没有它,它就无法知道要提供什么数据库。
TIA,这是我在StackOverflow上的第一篇文章!