19.10.2017, 13:51 | #1 |
Участник
|
Shared Projects и плагины CRM
Всем привет!
Есть такая полезная штука. А как она будет работать при следующем сценарии? Есть солюшен, в нём проект плагина и шареный проект с нашим классом, который мы хотим использовать в плагине. В проект плагина добавлем сервис-референс на WCF-сервис. А работаем с этим референсом только непосредственно в классе шареного проекта. Как отработает плагин при таком сценарии после публикации? всё будет ок или получим ошибку о потерянной длл-ке? Собственно вопрос касается не только референса на веб-сервис, но и любой другой внешней библиотеки. К сожалению, воспроизвести на данный момент негде . Последний раз редактировалось magicandy; 19.10.2017 в 14:05. |
|
19.10.2017, 16:18 | #2 |
Чайный пьяница
|
Не пользовал и, если честно, не вижу смысла, потому как есть ILMerge.
А вообще - можете спросить у автора блога прямо в посте - почему бы ему не ответить.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
19.10.2017, 18:35 | #3 |
Участник
|
ILMerge - это хорошо. Но у меня возникали некоторые сомнения в процессе его использования.
Я по началу и хотел у автора в блоге спросить, но, на сколько я знаю, автор тут тоже регулярно появляется. А также и другие компетентные товарищи - можно получить различные мнения. Вообще, мне кажется, что сценарий должен отработать корректно. Иначе какой смысл в шареных проектах? Просто подвязать свой класс через избыточную прослойку ? |
|
19.10.2017, 18:51 | #4 |
Чайный пьяница
|
Не сталкивался с указанной проблемой с ILMerge + профиляцией выполнения плагина, потому подсказать не смогу. У меня все работает, как часы, а подход используется постоянно - в каждом проекте.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: magicandy (1). |
19.10.2017, 19:04 | #5 |
Участник
|
Имхо, Shared Projects - это развитие темы с ссылками на классы. Когда добавляешь в проект существующий файл класса, можно его не копировать в проект, а добавить ссылку. Похоже что Shared Projects - это суть тоже самое, только в бОльшем масштабе. По идее проблем быть не должно. Но опять таки, Shared Projects не спасает от необходимости использовать ILMerge для добавления в плагин сторонних сборок (например свежей версии Newtonsoft.Json ). Так что все эти упражнения с Shared Projects в постоянном массовом производстве вводят скорее ненужную вариативность решений.
|
|
|
За это сообщение автора поблагодарили: magicandy (1). |
19.10.2017, 22:16 | #6 |
Участник
|
Добрался таки до стенда с ЦРМ.
Мде... Барахло эти ваши Шаред Проджектс. Да здравствует ИЛмердж! Цитата:
Цитата:
Коллеги, всем спасибо. Последний раз редактировалось magicandy; 19.10.2017 в 22:21. |
|
23.10.2017, 13:52 | #7 |
Moderator
|
Есть альтернативы ILMerge, типа ILRepack, или Fody/Costura.
ILRepack использует ту же технологию, но работает в несколько раз быстрее ILMerge так как использует более современный инструментарий (14,5с против 1,5 минут), но есть ощущение что проект брошен. Кроме того, у меня была проблема с ILRepack таском для MSBuild. Проблема известная, но автор ее игнорирует. Fody/Costura использует другую технику для объединения сборок и работает в сотни раз быстрее ILMerge (2,5 секунды против 1.5 минут на моем проекте). Отлично работает как таска MSBuild, но, увы, не будет работать в Sandbox/Online в силу ограничений технологии.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: magicandy (1). |
|
|