Не удалось выполнить сборку SQLCLR, потому что сборка не прошла проверку

В случае, если кто-то другой столкнется с этой проблемой.

Ошибка: SQL72014: .Net Поставщик данных SqlClient: … CREATE ASSEMBLY для сборки «Assembly.Name» не удалось, потому что сборка «Assembly.Name» не прошла проверку. Проверьте, соответствуют ли ссылочные сборки актуальным и доверенным (для внешнего_асцесса или небезопасным) для выполнения в базе данных. Сообщения об ошибках CLR Verifier, если они будут следовать этому сообщению
[токен 0x02000003] Ошибка загрузки типа.

Сборка SQLCLR успешно завершена, но не может быть развернута. Когда доступ к сборке выполняется обычным .NET-приложением (вне SQL Server), он выдаст TypeLoadException :

Не удалось загрузить тип 'Type.In.Assembly' из сборки 'Assembly.Name, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null', потому что формат недействителен.

Проблема связана с пользовательским типом (UDT) внутри сборки.

Виновником является

System.Runtime.InteropServices.StructLayoutAttribute

Когда мы определяем UDT, используя
[Microsoft.SqlServer.Server.SqlUserDefinedType(Format.Native)] а UDT – это класс (вместо структуры), требуется также определить [StructLayout(LayoutKind.Sequential)] .

Проблема заключалась в том, что мой класс UDT наследовался от базового класса. StructLayout должен быть определен в базовом классе.

  • SqlFunction не может открыть контекстное соединение, несмотря на DataAccessKind.Read present
  • Невозможно добавить сборку SQLCLR в базу данных, Msg 300
  • SQL Server CLR жестко закодированные инструкции SQL
  • Как убедить SQL Server 2008r2 использовать clr v4.0 вместо v2.0?
  • зарегистрировать DLL-объект, который ссылается на System.Web для SQL CLR
  • SQL Server 2008: пользовательская функция агрегации и индексированные представления
  • Могу ли я передать аргументы для внешнего (CLR) запуска SQL Server?
  • SQLCLR с использованием неправильной версии .NET Framework
  • Где SQL Server хранит развернутые сборки CLR?
  • SQL 71501 имеет неразрешенную ссылку на сборку
  • Проект базы данных, сборка не найдена в каталоге SQL
  • Interesting Posts

    Как создать порядковые номера для иерархических данных в SQL Server

    Как я могу получить и установить свойство описания таблицы SQL Server 2008 с помощью SMO?

    Сохраненная процедура Параметр OUT всегда возвращает NULL

    Вставить в запрос, вставляя нуль в 1-й столбец вместо данных в указанный столбец

    Как использовать символ с запятой в пароле для строки подключения SQL?

    Уровень изоляции транзакций SQL SERVER 2008 R2 не работает как ожидается

    CSV IDs для CSV значений

    Ошибка доступа к ODBC MS Access для сохранения записи

    Неверные значения столбцов Представления SQL Server после обновления схемы таблицы

    использование decimal в where where – Ошибка арифметического переполнения, преобразующая nvarchar в тип данных числовой

    Почему этот SQL-скрипт настолько медленный и как сделать его молниеносно?

    Анализ XML-файла в базе данных SQL Server возвращает 0 строк

    Что означает эта ошибка, которую я получаю, пытаясь установить Oracle SQL на сервер Linux?

    Как запросить таблицы федерации Sql azure

    DEFAULT CONSTRAINT полная форма

    Давайте будем гением компьютера.