У нас есть решение VS2010, которое содержит проект SQL CLR, который сам имеет ссылку на стороннюю сборку, зарегистрированную на нашем сервере БД разработки (через проект базы данных в решении, в котором есть скрипт для регистрации сборки с использованием СОЗДАТЬ СБОРКУ из буквального выражения).
Когда мы пытаемся запустить сборку через TFS, проект CLR не удается построить, так как он не может найти ссылку на сборку (сообщение об ошибке ниже)
ResolveSQLCLRReferences:
Primary reference "Telerik_Web_UI_RecurrenceEngine".
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlClr.targets(147,7): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Telerik_Web_UI_RecurrenceEngine". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [..]
For SearchPath "xx\obj\sqlclr".
Considered "xx\obj\sqlclr\Telerik_Web_UI_RecurrenceEngine.dll", but it didn't exist.
Considered "xx\obj\sqlclr\Telerik_Web_UI_RecurrenceEngine.exe", but it didn't exist.
ResolveAssemblyReferences:
Ignoring "Telerik_Web_UI_RecurrenceEngine" because it has a non-empty subtype "SQLCLR".
При сборке / развертывании через VS это нормально. Я заметил, что у меня есть требуемый файл DLL в моей папке obj \ sqlcr локально, который, как я полагаю, каким-то образом генерируется из ссылки проекта на сборку на SQL Server.
Нужно ли проверять этот файл, чтобы сервер сборки мог его найти, или есть какой-то способ подключения msbuild к серверу базы данных для разрешения ссылки?
Или мы должны зарегистрировать сборку из файла в проекте БД (а не из литерала varbinary) и затем получить проект CLR для ссылки на него? (не уверен, как, возможно, ручное копирование в папку \ obj \ sqclr?). Любое руководство приветствуется!