无法加载文件或程序集'Microsoft.SqlServer.Smo,Version = 10.0.0

时间:2012-10-26 15:58:03

标签: c# sql-server winforms tsql smo

  • 操作系统:Microsoft Windows NT 5.2.3790 Service Pack 2版本:2.0.50727.42

执行:创建表格......

  

Rec:system.m.FileNotFoundexception:无法加载文件或程序集   'microsoft.sqlserver.smo,version = 10.0.0.0,culture = neutral文件名:   'microsoft.sqlserver.smo,version = 10.0.0.0,culture = neutral,   PublicKeyToken = 89845dcd8080cc91'at   claimure.Forml.Runsqlscript(string connstring,streamReader sr)at   MN.Forml.bw_Dowork(对象发送者,Dow​​orkeventArgs e)'MN:汇编   绑定日志记录已关闭。启用程序集绑定失败   记录,设置注册表值   (NKLm \ software \ microsoft \ Fusion!enableLog](DwoRD)为1.注意:有   与程序集绑定失败相关的一些性能损失   日志记录。要关闭此功能,请删除注册表值   (NKLm \ SOFTWARE \微软\融合!enableLog)。

在使用SQL Server 2005的Windows 2003服务器上运行我的应用程序时出现上述错误。

我知道有一个从http://www.microsoft.com/en-us/download/details.aspx?id=24793

下载SQLServer2005_XMO的解决方案

我已经这样做了,但是在安装之后需要重新启动服务器,这暂时不可行。

我需要使用服务器对象。

 using Microsoft.SqlServer.Management.Smo;
 using Microsoft.SqlServer.Management.Common;  

        using (SqlConnection connection = new SqlConnection(connString))
        {
            Server server = new Server(new ServerConnection(connection));
            server.ConnectionContext.StatementTimeout = 2400;
            server.ConnectionContext.ExecuteNonQuery(sqlString);

        }

是否可以将dll加载到与我的应用程序相同的目录中并从代码中引用它?

感谢。

编辑:添加完整错误

1 个答案:

答案 0 :(得分:0)

通过构建MSI安装程序并包含所需的所有DLL来解决此问题。 感谢指点。