Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 安装正确版本的Microsoft.SQLServer.Replication.dll_Sql Server_Wix_Merge Replication - Fatal编程技术网

Sql server 安装正确版本的Microsoft.SQLServer.Replication.dll

Sql server 安装正确版本的Microsoft.SQLServer.Replication.dll,sql-server,wix,merge-replication,Sql Server,Wix,Merge Replication,我已经编写了一个应用程序来控制sql server上的合并复制过程。它在我的开发机器上运行,没有问题。在我的测试安装中,我在Win 7 64位上安装了SQL Server 2008 R2 64位。当我尝试使用复制程序时,它会崩溃,并显示以下异常消息 [ReplicatorClient.exe]-[Fatal]-[1/15/2015 9:29:56 AM]-版本0.5.16.0用户-vuser消息-无法加载文件或程序集“Microsoft.SqlServer.Replication,版本=12.0

我已经编写了一个应用程序来控制sql server上的合并复制过程。它在我的开发机器上运行,没有问题。在我的测试安装中,我在Win 7 64位上安装了SQL Server 2008 R2 64位。当我尝试使用复制程序时,它会崩溃,并显示以下异常消息

[ReplicatorClient.exe]-[Fatal]-[1/15/2015 9:29:56 AM]-版本0.5.16.0用户-vuser消息-无法加载文件或程序集“Microsoft.SqlServer.Replication,版本=12.0.0.0,区域性=中性,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。试图加载格式不正确的程序

堆栈跟踪-
在ReplicatorClient.Models.DatabaseSynchronization.CreatePublication()上 在ReplicatorClient.ReplicatorWindow.ReplicatorWindowViewModel.MenuCreateSubscription()上

我已将使用的
Microsoft.SqlServer.Replication.dll
复制到开发人员计算机上的
bin
文件夹中,并将其安装到测试计算机上的program文件夹中,但程序显然没有看到它。我可以采取哪些步骤来确定我需要做什么,以便在部署时可以看到此dll并正确运行我的应用程序


我正在使用WIX来安装它。

一般来说,这并不重要,那么WIX/MSI是您的部署方法(通过您的手动副本作为证据),因为这实际上是一个让正确的依赖项自动化的问题

通常,您必须分析部件负载。我一直讨厌这个消息,因为它说X或“依赖于它”。我希望它能告诉我到底是哪个

您可以使用ILDasm和ProcessMonitor来了解它试图加载的内容和失败的原因。将它(或那些)放入安装程序,重置虚拟机,冲洗并重复


PS-有时私有部署DLL是正确的做法,有时安装prereq可再发行文件是正确的做法。可能有一个SQL MSI可以为您处理所有这些,只需将其连接到您的引导程序/链接器(如果您有)中即可。这只需要一点研究。这不是我熟悉的DLL,因此我没有现成的答案。

我现在是第一次尝试ILDasm,当我用我的应用程序启动它时,会收到大量错误弹出消息。这正常吗?看Ndepend,像这样挑选DLL几乎总是不正确的。SQL安装有一个安装复制组件的选项,我怀疑默认情况下没有安装这些组件。另外,确保代码的比特数与SQL server的比特数匹配。Phil,你能解释一下你的意思吗?我通常会分析依赖关系,然后在可能的情况下寻找可再发行文件,或者在不可能的情况下进行私有部署。我不知道你的意思。