我有一个使用Microsoft.SqlServer.Management.Smo代码。 (内置在Visual Studio 2005 SP1) 它工作正常,在SQL 2000和SQL 2005的机器。 但是当它被SQL 2008机器上运行它抛出异常:

System.IO.FileNotFoundException:未能加载文件或程序集“Microsoft.SqlServer.Smo,版本= 9.0.242.0,文化=中性公钥= 89845dcd8080cc91”或它的一个依赖。该系统找不到指定的文件。 文件名: 'Microsoft.SqlServer.Smo,版本= 9.0.242.0,文化=中性公钥= 89845dcd8080cc91'

=== 日志:此绑定默认加载上下文开始。 日志:未找到应用程序配置文件。 日志:从C使用计算机配置文件:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG \ machine.config中。 日志:后政策参考:Microsoft.SqlServer.Smo,版本= 9.0.242.0,文化=中立,公钥= 89845dcd8080cc91 日志:新的URL文件的尝试下载:/// C:/ Documents和设置/自动化/桌面/调试/ Microsoft.SqlServer.Smo.DLL。 日志:新的URL文件的尝试下载:/// C:/ Documents和设置/自动化/桌面/调试/ Microsoft.SqlServer.Smo / Microsoft.SqlServer.Smo.DLL。 日志:新的URL文件的尝试下载:/// C:/ Documents和设置/自动化/桌面/调试/ Microsoft.SqlServer.Smo.EXE。 日志:尝试新的URL文件下载:/// C:/ Documents和设置/自动化/桌面/调试/ Microsoft.SqlServer.Smo / Microsoft.SqlServer.Smo.EXE

我已经安装SQL 2005向后兼容性包(更新的SQL 2008)SQL管理对象(更新了SQL 2008)

任何建议。

我通过的SQL Server SMO抱怨缺少DLL的但去没有太大的帮助。

有帮助吗?

解决方案

我发现这个问题。我是建设有到SQL 2005 SDK的DLL引用该项目。我删除了所有引用和再次添加的引用(现在指向SQL 2008米的dll查看职位:的 http://msdn.microsoft.com/en-us/library/ms162129.aspx )为参考的方式来加入。 此外,在目标机器需要有Microsoft SQL Server 2005向后兼容性组件和微软SQL Server 2008管理对象和SQL Server系统CLR类型(2008)安装。

其他提示

看看在 “Microsoft SQL Server 2008管理对象” 的微软SQL Server 2008的功能包,2009年4月(请确保您有SQL Server 2008中安装Service Pack 1)

不知道这是否是解决了,但它听起来像是原始的海报有“特定版本”属性设置为“真”的DLL。

要解决这个问题,在选择的文件夹中引用的参考和“特定版本”属性设置为true。

微软并没有将一些功能Microsoft.SMO.Extended,但这是另外一个问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top