Сборка CLR сообщает, что не может найти ссылочную сборку, которая уже существует в базе данных - PullRequest
2 голосов
/ 26 апреля 2011

У меня есть проект CLR, который ссылается на внешнюю сборку.Сначала я создал указанную сборку следующим образом:

CREATE ASSEMBLY [GraphClient]
FROM 'C:\Users\rknight\Desktop\GraphServerClientProject\GraphServerClient\GraphClient\GraphClient\bin\Debug\GraphClient.dll'
WITH PERMISSION_SET = UNSAFE

Затем в своем проекте CLR я смог просто нормально ссылаться на него на вкладке «SQL Server».Построил проект CLR и он компилируется без ошибок.Но когда я создаю новую сборку, я получаю сообщение об ошибке:

CREATE ASSEMBLY [GraphCLR]
FROM 'C:\Users\rknight\Desktop\GraphServerClientProject\GraphServerClient\GraphClient\GraphCLR\bin\Debug\GraphCLR.dll'
WITH PERMISSION_SET = UNSAFE


Msg 10301, Level 16, State 1, Line 1
Assembly 'GraphCLR' references assembly 'graphclient, version=0.0.0.0, culture=neutral, publickeytoken=null.', which is not present in the current database. SQL Server attempted to locate and automatically load the referenced assembly from the same location where referring assembly came from, but that operation has failed (reason: 2(The system cannot find the file specified.)). Please load the referenced assembly into the current database and retry your request.

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

У меня была эта проблема, и я в конце концов решил ее.Я ссылался на сборку x86 на 64-битном сервере.Я перестроил сборку, на которую ссылаются, как Любой ЦП, установленный на сервере, заново добавил ссылку на проект, перестроил свой проект как Любой ЦП, и затем SQL Server мог бы разрешить ссылку и установить сборку.

Сообщение "Вы ссылаетесь на сборку, созданную для неправильной платформы" было бы весьма полезным:)

1 голос
/ 26 апреля 2011

Это должно работать. Вы уверены, что GraphClient успешно загружен до попытки развертывания GraphCLR? Вместо того, чтобы полагаться на проект базы данных для правильного развертывания, я сначала вручную загрузил бы dll в правильном порядке, а затем, если это сработало, вернитесь к проекту и поэкспериментируйте с ним, чтобы убедиться в правильности зависимостей и правильном порядке развертывания.

Если это не помогает, вы пытались установить достоверность для устранения каких-либо неясных проблем с разрешениями?

...