使用的是vs2010,安装时选择了sql2008,但在引用里没发现icrosoft.SqlServer.Management.Smo;和Microsoft.SqlServer.Management.Common;,于是手动浏览找到了这两个dll文件,引用。
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Server s = new Server("(local)");
MessageBox.Show(s.Databases.Count.ToString());
}
}
}
错误信息如下:

求解决方法?
------解决方案--------------------
你需要引用以下几个对象
<add assembly="Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.SqlServer.ConnectionInfo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
然后再尝试,不能仅单独引用SMO
------解决方案--------------------
对你找到对应DLL然后引用就可以了,这分别是3个DLL