命名空间“Microsoft.SqlServer.Management”中不存在类型或命名空间名称“Nmo”

时间:2012-07-07 02:53:42

标签: c# sql-server dll namespaces

我试图加载一个项目,但它说:

The type or namespace name 'Nmo' does not exist in the namespace 'Microsoft.SqlServer.Management'

我只知道一个Smo dll但Nmo?哪里可以找到?

更新 我添加了2008版本的smo dll ...但它仍然发出错误...也许,我应该得到sql 2005版本的smo dll?因为我得到这个项目的机器是使用sql 2005

2 个答案:

答案 0 :(得分:1)

Microsoft.SqlServer.Management.Nmo命名空间包含用于开发和管理Notification Services实例和应用程序的类。 这是更多信息的链接 http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.nmo%28v=sql.90%29.aspx

您需要添加“microsoft.sqlserver.smo.dll”程序集参考

答案 1 :(得分:1)

引自标题为Microsoft SQL Server 2005 Notification Services

的文章
  

NMO API程序集和命名空间

     

要使用NMO API,应用程序必须引用包含所需类的程序集。通常需要以下两个程序集:

     
      
  • Microsoft.SqlServer.Smo.dll

  •   
  • Microsoft.SqlServer.ConnectionInfo.dll

  •   
     

第一个程序集Microsoft.SqlServer.Smo.dll包含SMO Framework中的大多数类,包括NMO类(没有单独的NMO程序集)。 Microsoft.SqlServer.ConnectionInfo.dll包含用于建立数据库连接的实用程序类。在使用NMO API的程序中通常需要来自两个程序集的类。

     

使用NMO时遇到的大多数类都是在以下三个命名空间之一中定义的:

     
      
  • Microsoft.SqlServer.Management.Nmo

  •   
  • Microsoft.SqlServer.Management.Smo

  •   
  • Microsoft.SqlServer.Management.Common

  •   
     

第一个有时被称为NMO名称空间。它包含所有NMO特定的类。第二个命名空间包含许多SMO类,其中一些是NMO编程所需要的。第三个命名空间包含常用的实用程序类,例如用于建立数据库连接的实用程序类。

修改

Take a look here,搜索“Microsoft SQL Server 2005管理”并下载相应的DLL。我解压缩它,它似乎包含一个Microsoft.SqlServer.Smo文件。当我尝试安装它时,我收到一条消息,指示我download a prerequisite(SQL Server Native Client),它指示我的页面似乎是2005 DLL的更新版本,所以你可能只是想要使用该页面中的DLL。

另外,作为旁注,如果您实际连接到2008 SQL Server,则应该能够使用2005 DLL来管理它,但是使用更新的“2008特定”功能将无法使用较旧的DLL。