0

我们有一个过程,包括在 SQL Server 11 和 10 数据库服务器上创建数据库。我们正在使用 dacpac 通过 DacServices 在 C# 中导入这些数据。这是正在使用的代码:

var dac = new DacServices(masterConnString);
using (var bacPac = BacPackage.Load(templatePath))
{
    dac.ImportBacpac(bacPac, dealer.VSID.ToString(CultureInfo.InvariantCulture));
}

当我们在本地机器上运行它进行初始测试时,它按预期工作。但是,当我把它扔到服务器上时(它作为 WCF 服务的一部分运行)。我收到以下错误:

'Microsoft.SqlServer.Dac.DacServices' 的类型初始化程序引发了异常。

服务器堆栈跟踪:在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)。 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) 在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)。 ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息)

在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 在 IWcfService.Method(字符串字符串,Int32 整数)在 WcfServiceClient.Method(字符串字符串,Int32 整数)

提前致谢。

4

1 回答 1

1

我终于弄明白了。有问题的 DLL 是 Microsoft.SqlServer.TransactSql.ScriptDom。一旦我引用了它,一切都按预期工作。不过,还是花了很多时间才到达那个地方。

于 2015-08-25T14:51:48.403 回答