虽然添加了引用,但找不到命名空间'Smo'

时间:2011-04-08 18:00:33

标签: c# assemblies

我已将Microsoft.SqlServer.Management.Smo.dll引用添加到我的项目中,但它仍然给出了以下错误。引用的dll位于C:\ Program Files \ Microsoft SQL Server \ 100 \ SDK \ Assemblies路径中。

错误25名称空间“Microsoft.SqlServer.Management”中不存在类型或命名空间名称“Smo”(您是否缺少程序集引用?)

我使用的所有类,如Smo namesapce下的Restore,Serer类也会抛出错误。

请告知。

4 个答案:

答案 0 :(得分:8)

你从哪里消费?您是否有机会使用客户端配置文件(在项目属性 - >应用程序 - >目标框架下)?那次我被抓了很多次。如果是这种情况,通常就像选择非客户端配置文件框架版本一样简单。

无论如何,我们能否详细了解这是什么类型的解决方案?

答案 1 :(得分:6)

我遇到了同样的问题,我注意到我的项目是针对框架3的。

更改为3.5或4有助于解决问题。

我的参考是

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.Management.Sdk.Sfc

答案 2 :(得分:1)

我认为你必须添加所有4个dll(link):

  

大部分课程   Microsoft.SqlServer.Management.Smo   名称空间驻留在   Microsoft.SqlServer.Smo.dll和   Microsoft.SqlServer.SmoExtended.dll   文件。另外,一些   枚举类在   Microsoft.SqlServer.SqlEnum.dll和   Microsoft.SqlServer.SmoEnum.dll   装配文件。 你必须这样做   导入所有四个文件以访问所有   中的课程   Microsoft.SqlServer.Management.Smo   命名空间

答案 3 :(得分:1)

如果您使用的是Visual Studio 2008,那么

添加引用 Microsoft.SqlServer.ConnectionInfo Microsoft.SqlServer.Smo Microsoft.SqlServer.SmoEnum Microsoft.SqlServer.SqlEnum

如果还有错误的话 然后添加两个dll

... microsoft.sqlserver.SmoEx Microsoft.SqlServer.ConnectionInfoEx ...


希望它能运作

谢谢。