Microsoft.SqlServer.Management.Smo 找不到服务器类



是的,我确实添加了4个dll,在中找到

C:Program FilesMicrosoft SQL Server100SDKAssemblies

以下是哪些:

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

并修改了应用程序配置,从而接受了dll的版本:

<startup useLegacyV2RuntimeActivationPolicy="true">
</startup>

并从VB.NET导入:

Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

该程序识别除服务器以外的所有单词:

Dim fileInfo As New FileInfo(fi.FullName)
Dim script As String = fileInfo.OpenText().ReadToEnd()
Dim connection As New SqlConnection(sqlConnectionString)
Dim server As New Server(New ServerConnection(connection))
server.ConnectionContext.ExecuteNonQuery(script)

上面写着:

'Type Server is not defined'

因此程序失败。你知道发生了什么事吗?我敢肯定,在另一台计算机上的测试项目中也有相同的场景,我不知道为什么这不起作用。谢谢

更新:

我试着把这个程序运行的计算机上的dll带到这里,并且Smo包含Server,所以没有错误。但当我构建程序时,就像dll在运行时或其他时候发生了变化,因为突然服务器再次被标记为错误,而Smo不再包含它,为什么会发生这种情况?

不幸的是,

SMO不能通过复制DLL来部署。我们的应用程序(以及RMO和其他应用程序)中有这一点,部署到生产中是一件很痛苦的事情。它需要运行适当的MS安装程序。

您可以从这里获取它们:http://www.microsoft.com/en-us/download/details.aspx?id=16978

或者,64位安装程序:http://go.microsoft.com/fwlink/?LinkID=188439&clcid=0x409

最新更新