在哪里可以找到 SQL Server Express 的 SQL 服务器管理对象集合?

Where can I find a SQL Server Management Objects Collection for SQL Server Express?

我编写了一个应用程序,它在 Visual Studio 2017 年 运行 时运行良好,并使用了以下库:

但是当我尝试 运行 它独立时,我收到以下错误:

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'

我追踪到 SQL 服务器缺少 SQL 服务器管理对象集合。

我需要知道如何解决这个问题,或者是否可以为 SQL Server Express 解决这个问题。我注意到这些包可用于购买的 SQL 服务器版本的安装,但没有找到任何用于 Express 的包。

您需要安装SQLSysClrTypes.msi

已更新LINK https://download.microsoft.com/download/1/3/0/13089488-91FC-4E22-AD68-5BE58BD5C014/ENU/x86/SQLSysClrTypes.msi

... 并可能重新启动您的 S.O

SQL = 结构化查询语言(sequel 只是 Ruby 的语音或数据库工具)

旧 LINK http://go.microsoft.com/fwlink/?LinkID=188392&clcid=0x409

当您说 "compiled executable" 时,您是否从 bin 文件夹中取出了 .exe、所有 .dll 和所有其他文件?请复制您的 bin 文件夹的全部内容。

这是函数。 DBServerTextBox.Text 是@"localhost\SQLEXPRESS” DBDataTextBox.Text是DATA目录的路径 标签刷新和线程睡眠是这样我可以在标签消息闪过之前看到它们。

private void AttachDatabaseToInstance()
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=" + DBServerTextBox.Text + @";Initial Catalog=master;;Integrated Security=True;Connect Timeout=30;User ID=dbadmin;Password=dbadmin";

        ServerConnection serverconn = new ServerConnection(con);
        Server s = new Server(serverconn);

        try
        {
            con.Close();
            InstallStatusLabel.Text = "Existing connections closed";
            InstallStatusLabel.Refresh();
            System.Threading.Thread.Sleep(3000);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
        try
        {
            s.DetachDatabase("mydatabase", true);
            InstallStatusLabel.Text = "Detaching any existing mydatabase database";
            InstallStatusLabel.Refresh();
            System.Threading.Thread.Sleep(3000);
        }
        catch
        {
            MessageBox.Show("Could not find attached database");
        }
        try
        {
            s.AttachDatabase("mydatabase", new System.Collections.Specialized.StringCollection { DBDataTextBox.Text + @"\mydatabase.mdf", DBDataTextBox.Text + @"\mydatabase_log.ldf" }, AttachOptions.None);
            InstallStatusLabel.Text = "Attached mydatabase database";
            InstallStatusLabel.Refresh();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }