繁体   English   中英

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

[英]Finding Microsoft.SqlServer.Management.Smo and ConnectionInfo References that are Compatible

我正在尝试使用

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收到此消息

“在相同从属程序集的不同版本之间发现的无法解决的冲突。将日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。”

“程序集“ Microsoft.SqlServer.Smo,版本= 13.0.0.0,文化=中性,PublicKeyToken = 89845dcd8080cc91”使用了具有更高版本的“ Microsoft.SqlServer.ConnectionInfo,版本= 13.0.0.0,文化=中性,PublicKeyToken = 89845dcd8080cc91”比引用的程序集“ Microsoft.SqlServer.ConnectionInfo,版本= 11.0.0.0,区域性=中性,PublicKeyToken = 89845dcd8080cc91”

我试图做微软建议将AutoGenerateBindingRedirects设置为true的事情,但是那没有用。

问:
我在哪里可以找到dll的正确版本?

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

我可以在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM