Почему C # не распознает Server () даже после добавления сборки "Microsoft.SqlServer.ConnectionInfo" - PullRequest
0 голосов
/ 11 октября 2018

Не удалось найти тип или имя пространства имен «Сервер» (отсутствует директива using или ссылка на сборку?)

string connetionString = @"connectionStirng"; 
SqlConnection conn = new SqlConnection(connetionString); 
var server = new Server(new ServerConnection(conn));

добавлено вверху

using Microsoft.SqlServer.Management.Common;

По-прежнему выдает ошибку.
Любая помощь оценена.

Уже проверено:
Почему я получаю сообщение об ошибке для пространства имен Microsoft.SqlServer.Server?
Я не могу добавить Microsoft.SqlServer.Management.Common в мое приложение ASP.NET MVC

enter image description here

Ответы [ 3 ]

0 голосов
/ 11 октября 2018

Установите этот пакет nuget:

https://www.nuget.org/packages/Microsoft.SqlServer.SqlManagementObjects

Затем добавьте с помощью директивы:

с помощью Microsoft.SqlServer.Management.Smo;

Теперь вы можете создать объект Server.

var server = new Server();

Установка SMO

Начиная с SQL Server 2017 SMOраспространяется как пакет Microsoft.SqlServer.SqlManagementObjects NuGet, позволяющий пользователям разрабатывать приложения с SMO.

Это замена для SharedManagementObjects.msi, который ранее выпускался как часть пакета компонентов SQL для каждого выпускаSQL Server.Приложения, использующие SMO, должны быть обновлены для использования пакета NuGet и будут нести ответственность за обеспечение установки двоичных файлов вместе с разрабатываемым приложением.

https://docs.microsoft.com/en-us/sql/relational-databases/server-management-objects-smo/installing-smo?view=sql-server-2017

0 голосов
/ 11 октября 2018

Можете ли вы попробовать добавить ссылку на:

Microsoft.SqlServer.dac.dll

Если не удается найти dll, необходимо установить SSDT (Sql Server Data Tools).

0 голосов
/ 11 октября 2018

По предложению Хана, пожалуйста, проверьте путь ссылки на сборку и убедитесь, что файл находится в указанном месте.Я столкнулся с подобной проблемой, это работало в среде разработки, но на тестовом сервере произошла ошибка.Причина в том, что студия SQL Server Management не была установлена ​​на тестовом сервере.Поэтому я скопировал необходимые сборки с компьютера разработчика в папку bin приложения на тестовом сервере, и это сработало.

...