11

我在用:

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

我正在使用上述命名空间从 还原数据库c# window form,但编译器告诉我

命名空间“MicrosoftSqlServer”中不存在类型或命名空间名称“Management”是否缺少程序集引用

我遵循谷歌的一些建议,找到DLLC:\Program Files\Microsoft SQL Server\100\SDK\Assemblies

Microsoft.SqlServer.Smo.dll;
Microsoft.SqlServer.ConnectionInfo.dll

我将它们复制并粘贴到我项目中的所有位置,但我仍然收到来自编译器的错误消息。

任何人都可以在哪里提供参考?

4

4 回答 4

11

我通过 Nuget 控制台重新安装 SqlServer 脚本来“修复”这个问题:

>> Uninstall-Package Microsoft.SqlServer.Scripting

>> Install-Package Microsoft.SqlServer.Scripting
于 2016-05-23T21:08:31.010 回答
2

不要手动将 SQL 管理 DLL 复制到项目文件夹中。

在 Visual Studio 中,在解决方案资源管理器的项目中,右键单击“引用”>“添加”。

于 2013-01-08T04:02:28.520 回答
1

从 MS 发布的 NuGet 包安装 SMO

SQL Server 管理对象 (SMO) 框架是一组对象,旨在以编程方式管理 Microsoft SQL Server 和 Microsoft Azure SQL 数据库。

从 SQL Server 2017 开始,SMO 作为Microsoft.SqlServer.SqlManagementObjectsNuGet 包分发,以允许用户使用 SMO 开发应用程序。这意味着不再需要单独安装 Microsoft SQL Server SDK。

要将 SMO 作为 NuGet 包安装:

  1. 首先,打开那个包管理器控制台。在 Visual Studio 中: ToolsNuGet Package ManagerPackage Manager Console

  2. 使用控制台安装Microsoft.SqlServer.SqlManagementObjectsNuGet 包:

    Install-Package Microsoft.SqlServer.SqlManagementObjects

现在,SMO 参考可作为包参考(扩展给定项目的参考)

项目 SMO 参考

于 2020-01-27T20:12:00.050 回答
0

我没有使用任何解决方法,而是找到了问题的根本原因:我的 SQL Server ISO 下载错误。我通过仔细检查下载文件的 SHA1 哈希 (74279286C2ABFBA9E9FF6DBEE60B71669BD234D2) 确认了这一点。

重新下载并重新安装后,我的项目按预期工作。

额外信息:在 Windows 10 中查找校验和值

我使用了 PowerShell:

Get-FileHash -Path .\en_sql_server_2016_developer_with_service_pack_2_x64_dvd_12194995.iso -Algorithm SHA1
于 2020-08-05T17:48:51.970 回答