3

我有使用 Microsoft.SqlServer.Management.Smo 的代码。(内置于 Visual Studio 2005 SP1)它在 SQL 2000 和 SQL 2005 机器上运行良好。但是当它在 SQL 2008 机器上运行时会抛出异常:

System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.SqlServer.Smo,Version=9.0.242.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。该系统找不到指定的文件。文件名:'Microsoft.SqlServer.Smo,版本=9.0.242.0,文化=中性,PublicKeyToken=89845dcd8080cc91'

=== LOG:此绑定在默认加载上下文中开始。LOG:未找到应用程序配置文件。LOG:使用 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config 中的机器配置文件。日志:后策略参考:Microsoft.SqlServer.Smo,版本=9.0.242.0,文化=中性,PublicKeyToken=89845dcd8080cc91 日志:尝试下载新 URL 文件:///C:/Documents and Settings/Automation/Desktop/Debug /Microsoft.SqlServer.Smo.DLL。日志:正在尝试下载新的 URL 文件:///C:/Documents and Settings/Automation/Desktop/Debug/Microsoft.SqlServer.Smo/Microsoft.SqlServer.Smo.DLL。日志:正在尝试下载新的 URL 文件:///C:/Documents and Settings/Automation/Desktop/Debug/Microsoft.SqlServer.Smo.EXE。日志:正在尝试下载新的 URL 文件:///C:/Documents and Settings/Automation/Desktop/Debug/Microsoft.SqlServer.Smo/Microsoft。

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

有什么建议么。

我经历了SQL Server SMO 抱怨缺少 DLL但没有多大帮助。

4

3 回答 3

3

我发现了这个问题。我在构建项目时引用了 SQL 2005 SDK DLL。我删除了所有引用并再次添加了引用(现在指向 SQL 2008 dll 视图帖子:http: //msdn.microsoft.com/en-us/library/ms162129.aspx)以获取要添加的引用列表。此外,目标计算机需要安装 Microsoft SQL Server 2005 向后兼容组件和 Microsoft SQL Server 2008 管理对象和 SQL Server 系统 CLR 类型 (2008)。

于 2009-07-01T10:53:27.990 回答
0

查看Microsoft SQL Server 2008 Feature Pack,2009 年 4 月的“Microsoft SQL Server 2008 管理对象”部分(确保您已安装 SQL Server 2008 Service Pack 1)

于 2009-07-01T08:02:51.437 回答
0

不确定这是否已解决,但听起来原始海报将 dll 的“特定版本”属性设置为“真”。

要解决此问题,请在 References 文件夹中选择引用并将“特定版本”属性设置为 true。

Microsoft 确实将一些功能移至 Microsoft.SMO.Extended,但这是一个单独的问题

于 2010-03-03T16:48:42.667 回答