Инструмент регистрации плагина выбрасывает Невозможно загрузить сборку плагина

Я использую последнюю версию MS CRM 2011 SDK и пытаюсь развернуть пользовательское действие рабочего процесса (оно было подписано ключом). Инструмент регистрации подключаемого модуля выдает ошибку «Невозможно загрузить сборку подключаемого модуля» без подробной информации о первопричине. Трассировка ошибки, выдаваемая инструментом, очень похожа на ту, что описана в этот пост

Ответ на сообщение, указанное выше, указывает на добавление сборки Microsoft.Xrm.Client в GAC, но мой проект рабочего процесса ссылается на следующие DLL: 1) Microsoft.Crm.Sdk.Proxy.dll 2) Microsoft.Xrm.Sdk.dll 3) Microsoft .Xrm.Client.dll 4)Microsoft.Xrm.Sdk.Workflow.dll

Следует ли все это добавить в GAC? Сервер CRM - Win 2K8R2. Я попытался перетащить сборки в папку c:\windows\assembly, но это не сработало. Ошибок нет, но и ничего не скопировано. Я следовал инструкциям, изложенным в этом post, но это тоже не сработало.

Что мне не хватает?


person Abhijeet Patel    schedule 11.08.2012    source источник


Ответы (3)


Я не думаю, что вам нужно размещать какие-либо библиотеки crm в gac, они уже установлены в файлах сервера CRM. Если вы считаете, что это может решить проблему, используйте gacutil (неясно, можете ли вы установить в gac или это не решило проблему).

Я подозреваю, что он жалуется на вашу dll, вы пытаетесь зарегистрироваться на диске? Как правило, вам сначала нужно поместить dll в папку crm/server/bin. Попробуйте выполнить развертывание в базе данных — это упрощает развертывание решения на других серверах позже.

Если это все еще не работает, опубликуйте трассировку ошибки.

person James Wood    schedule 11.08.2012
comment
Спасибо, Джеймс. Трассировка почти такая же, как в ссылке, которую я разместил. Как я уже упоминал, эти dll относятся к последней версии SDK, поэтому они не понадобятся на сервере для плагина? Я использую базу данных, а не диск для развертывания - person Abhijeet Patel; 11.08.2012
comment
Насколько я понимаю, они были включены в установку CRM, я никогда не устанавливал их вручную. - person James Wood; 11.08.2012
comment
Верно, но когда у вас есть новая версия SDK, у вас есть более новая версия этих DLL. Первоначальная установка будет иметь более старые версии. - person Abhijeet Patel; 11.08.2012
comment
Вы уверены, что можете использовать microsoft.xrm.client.dll на сервере? - person keerz; 12.08.2012
comment
@AbhijeetPatel, в этом случае вы применили последний накопительный пакет? Я ожидаю, что все последние dll будут помещены в нужные места. - person James Wood; 12.08.2012
comment
@keerz: Да, если вы используете переключатель /codecustomization и наследуете CrmOrganizationContext, вам нужно, чтобы эта DLL была установлена ​​на сервере. - person Abhijeet Patel; 14.08.2012
comment
У меня была аналогичная проблема, и оказалось, что при развертывании в базе данных сообщение об ошибке не прошло. - person Geoff Snowman; 02.07.2015

Включите crm server side.tracing. Вы получите гораздо лучшую информацию об ошибках. Используйте средство диагностики CRM, чтобы включить ведение журнала трассировки: http://crmdiagtool2011.codeplex.com.

person Daryl    schedule 11.08.2012
comment
У меня была та же проблема, и инструмент диагностики CRM, похоже, не предоставил никакой полезной информации. - person Geoff Snowman; 02.07.2015

Оказывается, если вы используете переключатель /codecustomization, чтобы генератор кода производился от «CrmOrganizationcContext», вам нужен «microsoft.xrm.client.dll». Эта DLL не включена в установку CRM по умолчанию, и вам нужно так или иначе получить ее на сервере. Я отказался от использования переключателя /codecustomization, из-за которого «контекст» выводится из «OrganizationContext» и не зависит от этой DLL. Регистрация плагина теперь работает! Этот пост дает больше информации

person Abhijeet Patel    schedule 14.08.2012