Пространство имен 'Smo' не найдено, хотя ссылка добавлена - PullRequest
3 голосов
/ 08 апреля 2011

Я добавил ссылку Microsoft.SqlServer.Management.Smo.dll на мой проект, но все равно выдает ошибку ниже. Указанная dll находится в C: \ Program Files \ Microsoft SQL Server \ 100 \ SDK \ Путь сборок.

Ошибка 25 Тип или имя пространства имен «Smo» не существует в пространстве имен «Microsoft.SqlServer.Management» (отсутствует ссылка на сборку?)

Все классы, которые я использую, такие как Restore, класс Serer в именном пространстве Smo, также выдают ошибку.

Пожалуйста, сообщите.

Ответы [ 5 ]

8 голосов
/ 08 апреля 2011

Откуда вы это потребляете?Есть ли шанс, что вы используете профиль клиента (в свойствах проекта -> Приложение -> Target Framework)?Я был пойман этим несколько раз.В таком случае это обычно так же просто, как выбрать версию фреймворка для профилей не-клиента.

В любом случае, можем ли мы получить более подробную информацию о том, какое это решение?

6 голосов
/ 08 ноября 2012

У меня была такая же проблема, я заметил, что мой проект был ориентирован на framework 3.

Изменение на 3,5 или 4 помогло решить проблему.

Моя ссылка на

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.Management.Sdk.Sfc
1 голос
/ 14 марта 2012

Добавление ссылки на «Microsoft.SqlServer.Management.Sdk.Sfc.dll» из «C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies» устранит эту ошибку.

1 голос
/ 08 апреля 2011

Если вы используете Visual Studio 2008, тогда

Добавить ссылки Microsoft.SqlServer.ConnectionInfo Microsoft.SqlServer.Smo Microsoft.SqlServer.SmoEnum Microsoft.SqlServer.SqlEnum

если вы все еще получили ошибку затем добавьте еще две dll

microsoft.sqlserver.SmoEx ... Microsoft.SqlServer.ConnectionInfoEx ...


Надеюсь, это сработает

Спасибо.

1 голос
/ 08 апреля 2011

Я думаю, что вам нужно добавить все 4 библиотеки ( ссылка ):

Большинство классов Microsoft.SqlServer.Management.Smo находится в Microsoft.SqlServer.Файлы Smo.dll и Microsoft.SqlServer.SmoExtended.dll.Кроме того, некоторые классы перечисления находятся в файлах сборки Microsoft.SqlServer.SqlEnum.dll и Microsoft.SqlServer.SmoEnum.dll. Вам потребуется импортировать все четыре файла для доступа ко всем классам в пространстве имен Microsoft.SqlServer.Management.Smo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...