1

У меня есть пакет CLR, созданный с использованием VB.NET в Visual Studio 2012, который я пытаюсь развернуть в базе данных SQL Server 2012. Решение имеет два проекта, один из которых будет CLR, а другой - ссылкой на веб-службу. В любое время я пытаюсь развернуть на SQL, я получаю следующее сообщение об ошибкеОшибка при создании сборки CLR для SQL Server 2012

(47,1): SQL72014: Provider .Net SqlClient данных:
Msg 6211, уровень 16, состояние 1, строка 1
CREATE СБОРЕ не удалось, потому что тип «SSRSService.ReportExecutionService.ReportExecutionService» в безопасной сборке «SSRSService» имеет статическое поле «__ENCList». Атрибуты статических полей в безопасных сборках должны быть отмечены только в Visual C#, ReadOnly в Visual Basic или initonly на Visual C++ и на промежуточном языке.
Произошла ошибка во время выполнения партии.

Я уже обеспечил, чтобы проект имел уровень разрешения UNSAFE и что TRUSTWORTHY включен для SQL Server.

Странно, что поле, в котором он претендует быть проблемой, даже не существует! Проект, в котором он жалуется, содержит только ссылку на веб-службу и ничего больше.

+0

Я думаю, вам нужно будет предоставить более подробную информацию об этом. вы уверены, что только развертываете один проект, который вам нужен? Я попытался бы разбить решение только на один проект и одну процедуру для развертывания. Используете ли вы [типы данных SQL] (http://msdn.microsoft.com/en-us/library/cc716729%28v=vs.110%29.aspx)? –

+0

Это простое решение для двух проектов. Проект A имеет ссылку на проект B. Проект B не содержит никакого кода, а только ссылку на веб-службу, однако ошибка утверждает, что проект с только веб-службой имеет статическое поле. Нет типов данных SQL. – Cailean

ответ

0

Я смог решить проблему. Я пропустил один шаг, когда я сделал ссылку из проекта Startup на проект веб-службы.

Все, что мне нужно было сделать, это расширить узел «Ссылки» в Project Explorer для проекта «Запуск» и выбрать ссылку «Проект». Оттуда перейдите в окно «Свойства» и установите свойство . Набор разрешений - Небезопасный.

+1

Не могли бы вы, кстати, также сделать сборку для развертывания? –

+0

Нет, ничего больше не изменилось, только настройка UNSAFE для проекта, на который делается ссылка. – Cailean

0

Поиск имя этого поля, показал мне работал вокруг, предоставленных Microsoft MVP Dan Гусман: Assembly Insert brings static field error, but I have no fields

компилятор VB.NET ссылается на внутренний вспомогательный класс со статическим поле, чтобы вы выиграли» t создать сборку из отладки VB.NET . Попробуйте создать и развернуть сборку релиза (или используйте C#).

Стоит попробовать.

Смежные вопросы