我正在尝试使用
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?
答案 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,构建并运行使用ServerConnection
和Server
类的控制台应用程序。
查看您是否可以在110 \ SDK文件夹中找到Microsoft.SqlServer.ConnectionInfo.dll
。