查找兼容的Microsoft.SqlServer.Management.Smo和ConnectionInfo引用

时间:2016-09-07 15:23:27

标签: c# sql-server visual-studio dll

我正在尝试使用

using Microsoft.SqlServer.Management.Common    
using Microsoft.SqlServer.Management.Smo

我在通常的地方成功找到了我的C:驱动器上的.dll文件,

C:\Program Files\Microsoft SQL Server\

问题是显然两者不相容。

.Smo来自\130\SDK\Assemblies

.Common来自.ConnectionInfo.dll

引用\110\SDK\Assemblies

所以我想知道,因为它们不在同一个\number\SDK\Assemblies,这就是为什么它们不是同一个版本。当我运行应用程序时,我从Visual Studio

获取此消息
  

“发现无法解析的同一依赖程序集的不同版本之间存在冲突。当日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。”

  

“Assembly'Microsoft.SqlServer.Smo,Version = 13.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'使用'Microsoft.SqlServer.ConnectionInfo,Version = 13.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'高于引用程序集的版本'Microsoft.SqlServer.ConnectionInfo,Version = 11.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'“

我尝试做微软建议的将AutoGenerateBindingRedirects设置为true但不起作用。

ASK:
 我在哪里可以找到适当版本的dll?

2 个答案:

答案 0 :(得分:0)

您可以在安装sql server时安装Client Tools SDK,也可以使用Sql Server Feature Pack并从组件列表中选择ENU \ x64 \ SharedManagementObjects.msi或ENU \ x86 \ SharedManagementObjects.msi

答案 1 :(得分:0)

我可以在SQL Server安装的同一目录中看到两个dll:

c:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll
c:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.Smo.dll

将VS 2015与.net 4.5.2一起使用我可以引用这两个dll,构建并运行使用ServerConnectionServer类的控制台应用程序。

查看您是否可以在110 \ SDK文件夹中找到Microsoft.SqlServer.ConnectionInfo.dll