L'assembly CLR indique qu'il ne peut pas find un assembly référencé qui existe déjà dans la database

J'ai un projet CLR qui fait reference à un assemblage externe. J'ai créé l'assembly référencé en premier comme suit:

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

Puis, dans mon projet CLR, j'ai été capable de le referencer sous l'onglet "SQL Server". Construit le projet CLR et comstack sans erreurs. Mais quand je crée le nouvel assemblage, j'ai une erreur:

 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. 

J'ai eu ce problème et j'ai fini par le résoudre. Je reference un assembly x86 sur un server 64 bits. J'ai reconstruit l'assembly référencé comme Any CPU, installé sur le server, ajouté de nouveau la reference au projet, reconstruit mon projet comme Any CPU, puis SQL Server pouvait résoudre la reference et installer l'assembly.

Un message du genre "Vous faites reference à un assemblage construit pour la mauvaise plate-forme" aurait été plutôt utile 🙂

Cela devrait fonctionner. Êtes-vous positif GraphClient est chargé avec succès avant que le deployment GraphCLR est tenté? Au lieu de se fier au projet de database pour le déployer correctement, je chargerais d'abord manuellement les DLL dans le bon ordre, puis si ça marche, je fais des erreurs avec le projet pour s'assurer que les dependencies sont correctes et que le deployment est correctement ordonné.

Si cela ne vous aide pas, avez-vous essayé de définir un paramètre de confiance pour éliminer les problèmes de permissions obscurs?