Зависимость сборки в SQL Server 2008

Когда я регистрирую сборку System.ServiceModel.dll Я получаю это предупреждение:

Регистрация System.ServiceModel.dll

После этого я пытаюсь зарегистрироваться Microsoft.Transactions.Bridge.dll и получите это предупреждение:

Регистрация Microsoft.Transactions.Bridge.dll

1 ответ

Из какого каталога / папки вы пытаетесь извлечь эти библиотеки DLL? Вам нужно только создать сборку ServiceModel. Это потребует, чтобы база данных была установлена ​​на TRUSTWORTHY ON и что вы создаете сборку как UNSAFE,

При этом вам будет лучше найти совершенно другой подход, учитывая очень ограниченную природу того, что вы строите. SQLCLR является очень ограниченной средой и не допускает сборок в смешанном режиме; разрешены только чистые сборки MSIL. В версиях.NET Framework 2.0, 3.0 и 3.5 библиотека ServiceModel представляла собой чистый MSIL, поэтому ее импорт работал. Однако, начиная с.NET Framework v 4.0, ServiceModel изменился на DLL-библиотеку смешанного режима и, следовательно, не может быть импортирован в SQL Server, начиная с SQL Server 2012 (т. Е. Первой версии SQL Server, которая будет связана с CLR v 4.0, которая использует.NET Framework версии 4.0 до текущей 4.7 (я думаю)). И нет никакого исправления вне переписывания кода, чтобы больше не ссылаться на ServiceModel. Пожалуйста, смотрите мой ответ здесь для более подробной информации об этом:

(Неисправимо) Сборка существует в SQL Server 2014, но утверждает, что ее нет

Другие вопросы по тегам