Внедрение DLL-библиотек в файл плагина (ILMerge)

Внедрение DLL-библиотек в файл плагина Microsoft Dynamics CRM 2011/2013 с помощью утилиты ILMerge.

Скачать утилиту ILMerge можно в Центре загрузки Microsoft.

Для автоматического создания библиотеки, слитой из нескольких, при компилировании проекта в Visual Studio необходимо прописать вызов ILMerge в настройках проекта на событие Post-build:

Настройка автоматического вызова ILMerge в Visual Studio

Строка вызова ILMerge выглядит следующим образом:

"G:\Инструменты\ILMerge\ILMerge" /t:library /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0" /copyattrs /keyfile:"$(ProjectDir)Sign.snk" /out:"$(ProjectDir)$(OutDir)$(TargetName)Plugin.dll" "$(TargetPath)" "$(TargetDir)MyLib.dll" "$(TargetDir)MyOtherLib.dll"

Основные параметры командной строки:

«G:\Инструменты\ILMerge\ILMerge»
Ссылка на исполняемый файл ILMerge.
/keyfile:»$(ProjectDir)Sign.snk»
Путь к файлу подписи проекта. Предполагается что файл подписи называется Sign.snk и расположен в папке проекта.
/out:»$(ProjectDir)$(OutDir)$(TargetName)Plugin.dll»
Имя библиотеки, которое получится на выходе. В данном примере слитая библиотека будет создана рядом с исходными библиотеками (т.е. в папке bin/Debug или bin/Release проекта) и иметь имя основной библиотеки проекта с добавлением слова Plugin в конце.
«$(TargetPath)»
Основная библиотека проекта, с которой необходимо слить другие библиотеки.
«$(TargetDir)MyLib.dll»
«$(TargetDir)MyOtherLib.dll»
Список дополнительных библиотек, которые необходимо слить с основной библиотекой проекта. В данном примере предполагается, что для всех сливаемых библиотек в параметрах установлено значение Copy Local = true и они все попадают в выходную папку при компиляции (т.е. в папку bin/Debug или bin/Release проекта).
Имена библиотек

Для того, чтобы не было проблем при сливании библиотек необходимо, чтобы имена библиотек не совпадали с пространствами имен. иначе возможны ошибки типа The assembly ‘…’ was not merged in correctly..

About the author

Добавить комментарий

Сказать спасибо

Способ платежа:

Подписаться на обновления

Укажите свой e-mail чтобы получать уведомления о новых статьях.

Присоединиться к еще 3 подписчикам