Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载文件或程序集';Microsoft.SqlServer.Smo,版本=10.0.0 操作系统:Microsoft Windows NT 5.2.3790 Service Pack 2版本:2.0.50727.42_C#_Sql Server_Winforms_Tsql_Smo - Fatal编程技术网

C# 无法加载文件或程序集';Microsoft.SqlServer.Smo,版本=10.0.0 操作系统:Microsoft Windows NT 5.2.3790 Service Pack 2版本:2.0.50727.42

C# 无法加载文件或程序集';Microsoft.SqlServer.Smo,版本=10.0.0 操作系统:Microsoft Windows NT 5.2.3790 Service Pack 2版本:2.0.50727.42,c#,sql-server,winforms,tsql,smo,C#,Sql Server,Winforms,Tsql,Smo,正在做:创建表 Rec:system.m.FileNotFoundexception:无法加载文件或程序集 'microsoft.sqlserver.smo,版本=10.0.0.0,区域性=中性文件名: 'microsoft.sqlserver.smo,版本=10.0.0.0,区域性=中性, PublicKeyToken=89845dcd8080cc91'at 位于的claimsure.Forml.Runsqlscript(string connstring,streamReader sr) m

正在做:创建表

Rec:system.m.FileNotFoundexception:无法加载文件或程序集 'microsoft.sqlserver.smo,版本=10.0.0.0,区域性=中性文件名: 'microsoft.sqlserver.smo,版本=10.0.0.0,区域性=中性, PublicKeyToken=89845dcd8080cc91'at 位于的claimsure.Forml.Runsqlscript(string connstring,streamReader sr) myapp.Forml.bw_Dowork(对象发送器,DoworkeventArgs e)'MN:程序集 绑定日志记录已关闭。启用程序集绑定失败 日志记录,设置注册表值 (NKLm\software\microsoft\Fusion!enableLog](DwoRD)到1。注意:没有 某些性能损失是否与程序集绑定失败相关 要关闭此功能,请删除注册表值 (NKLm\software\microsoft\Fusion!启用日志)

在使用SQL server 2005在Windows 2003服务器上运行应用程序时,我遇到上述错误

我知道有一个解决方案可以从

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

我需要使用服务器对象

 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加载到与我的应用程序相同的目录中,并从代码中引用它

谢谢


编辑:添加了完整错误

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

完整的错误消息是什么?错误消息说明无法加载程序集,但也会说明原因。您可以提供吗?SMO Version 10.0=SMO for SQL Server 2008-由于您有SQL Server 2005,您可能引用了错误的SMO程序集…这必须在不同的SQL版本上工作-2005->2008。我已经用2008服务器进行了测试,它成功了,现在测试了2005并得到了上面的结果。-不确定如何实现这一点。。using语句是否会获取我在开发机器上的版本?是的-但是如果您在SQL server 2005服务器上安装应用程序,使用SMO v10.0,SMO v10.0程序集在哪里?您的应用程序是否随附它们y没有与应用捆绑在一起,但我可以访问服务器,我可以将dll文件放在服务器上/安装它而不必重新启动服务器吗?