Сборки SMO ​​в .Net Framework 4.0 - PullRequest
7 голосов
/ 16 декабря 2011

Я использую .net Framework 4.0 и работаю над установкой веб-развертывания. Я ссылался на сборки SMO ​​сервера SQL Server 2008, и когда я вызываю функцию ExecuteNonQuery в моей настройке с использованием Smo Assemblies, это дает мне эту ошибку "Сборка смешанного режима построен на основе версии v2.0.50727 среды выполнения и не может быть загружен во время выполнения 4.0 без дополнительной информации о конфигурации. " но иногда это работает правильно в моем коде, но иногда выдает эту ошибку,

Я использую тот же класс, один и тот же метод, иногда он запускается правильно, и некоторое время он выдает эту ошибку, я полностью исчезаю с этой ошибкой, я не могу найти причину для этого, и я также хочу знать, SMO сборки доступны в .Net framework v4.0?

Ответы [ 4 ]

11 голосов
/ 24 января 2012

От: http://social.msdn.microsoft.com/Forums/en-US/sqlsmoanddmo/thread/533f7044-1109-4b7a-a697-2621f23017d6

Это известная проблема. Использование SMO против .Net 4.0 не было подписано или объявлено Microsoft.

Существует неподдерживаемая опция, чтобы заставить это работать (добавьте это в ваш app.config):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
3 голосов
/ 16 декабря 2011

Почему вы используете "SMO сборки" для вызова ExecuteNonQuery?

Почему бы просто не ссылаться и не использовать ADO.NET?См System.Data.SqlClient.ExecuteNonQuery(...)

1 голос
/ 06 октября 2013

Реальный ответ для использования SMO в .NET v4 сейчас, кажется, здесь в обходном пути:

http://connect.microsoft.com/SQLServer/feedback/details/643811/net-4-0-compatible-smo

0 голосов
/ 14 марта 2016

Я сам сталкивался с этой проблемой, и добавление вышеупомянутого тега (см. Комментарий @jimasp), похоже, не сработало, однако я добавил его в app.config для проекта, в котором расположен код, однако использовался как часть консольного приложения. Когда я добавил его в app.config консоли, он запустился без проблем. Я добавил его в неправильный app.config.

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