找不到Microsoft.SqlServer.ConnectionInfo.dll程序集文件?

17 assemblies smo add-references-dialog visual-studio-2010

我正在尝试使用C#代码动态获取数据库表结构,如下所示:

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

public class LoadStuff
{
    ...
    public void LoadDatabase(string vDatabaseName)
    {
        using (var vSqlConnection = new SqlConnection(DatabaseConnectionString))
        {
            var vConnection = new ServerConnection(vSqlConnection);
            var vServer = new Server(vConnection);
            var vDatabase = vServer.Databases[vDatabaseName];
            var vTables = vDatabase.Tables;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我找不到.dll文件来添加引用.我正在使用Visual Studio 2010 Professional.有什么建议?

Han*_*ant 26

它位于我机器上的c:\ program files\microsoft sql server\xxx\sdk\assemblies中.其中xxx是SQL Server版本号(90或100).不确定它是如何到达那里的.

  • 疑.将Copy Local设置为True,以便将其复制到您的构建目录,准备好包含在您的安装项目中. (2认同)

小智 6

请右键单击您的解决方案并选择"添加引用",然后选择以下dll:

  • C:\ Windows \组件\ GAC_MSIL\Microsoft.SqlServer.SMO
  • C:\ Windows \组件\ GAC_MSIL\Microsoft.SqlServer.ConnectionInfo
  • C:\ Windows \组件\ GAC_MSIL\Microsoft.SqlServer.Management.Sdk.sfc