【发布时间】:2015-11-08 03:00:33
【问题描述】:
我们的流程包括在 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.ThrowIfFaultUnderstood(消息 回复、MessageFault 故障、字符串操作、MessageVersion 版本、 故障转换器故障转换器)在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串动作, Boolean oneway, ProxyOperationRuntime 操作, Object[] ins, Object[] 出局,TimeSpan 超时)在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime 操作)在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 留言)
在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(消息数据& msgData, Int32 类型) 在 IWcfService.Method(String 字符串,Int32 整数)在 WcfServiceClient.Method(String string, Int32 integer)
提前致谢。
【问题讨论】:
-
从我读到你的问题,有一个
Dll assembly问题,我觉得这个特定的程序集是如何在本地引用的。它是否标记为CopyLocal = true也可以是GAC检查你的所有引用并确保它们在目标机器上相同
标签: c# .net sql-server dac bacpac