Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
-
Запись от Артем Enot Грунин размещена 06.08.2019 в 17:07 -
Еще один способ регистрации сборок с зависимостями
Спасибо, разобрались! Опечатались в одном месте.
И props-файл действительно не нужен.Запись от ximik33rus размещена 06.08.2019 в 17:01 -
Еще один способ регистрации сборок с зависимостями
Очень хороший вопрос! Есть пара вещей, которые меня смущают, но они не должны быть очень уж критичны. Конфиг, который я опубликовал тут и в новой статье взят из реального проекта, который корректно собирается. props-файл я вообще не использую. Зачем он вам, вы же уже указали ключ? Возможно это следует включить в мануал. Нужно "подписать" основную сборку, остальные замурует в нее с тем же ключом. Вторая странность в том, что вы мержите только для Debug конфигурации. Обычно или делают наоборот: собирают только для релиза, или вообще не указывают условие.
Все-таки, давайте к нашим баранам. Возможно и не в мерже проблема, а в самой сборке. Что за контекст и что за файлы метаданных?Запись от Артем Enot Грунин размещена 06.08.2019 в 15:46 -
Еще один способ регистрации сборок с зависимостями
Спасибо, уже нашли Вашу новую статью + https://github.com/ravibpatel/ILRepack.Lib.MSBuild.Task, но и по ним не происходит запуска слияния длл.
Вот наши файлы. что может быть не так?
X++:ILRepack.targets <!-- ILRepack --> <?xml version="1.0" encoding="utf-8" ?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> < Target Name = "AfterBuild" Condition = "'$(Configuration)' == 'Debug'" > <ItemGroup> <InputAssemblies Include="$(OutputPath)\$(AssemblyName).dll" /> <InputAssemblies Include="$(OutputPath)\Newtonsoft.Json.dll" /> </ItemGroup> <ILRepack Parallel="true" <!-- Internalize = " true " --> <!-- InternalizeExclude = "@(DoNotInternalizeAssemblies)" --> InputAssemblies="@(InputAssemblies)" LibraryPath="$(OutputPath)" KeyFile="$(AssemblyOriginatorKeyFile)" TargetKind = "Dll" OutputFile="$(OutputPath)\$(AssemblyName).dll"/> </Target> </Project> ILRepack.Config.props <? xml version = " 1.0 " encoding = " utf-8 " ?> < Project xmlns = " [url]http://schemas.microsoft.com/developer/msbuild/2003[/url] " > < PropertyGroup > < ILRepackTargetsFile > $(SolutionDir) ILRepack.targets </ ILRepackTargetsFile > < KeyFile > $(SolutionDir)123.snk </ KeyFile > </ PropertyGroup > </ Project >
Запись от ximik33rus размещена 06.08.2019 в 14:52 -
Еще один способ регистрации сборок с зависимостями
Цитата:Если используется ServiceContext и файл описания метаданных CRM, у нас возникает ошибка:
А если ServiceContext и файл-описание и исключить из проекта, все мержится хорошо.X++:Failed to resolve assembly: 'Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
Подскажите, как это можно обойти, правильно ли я понял что цитата выше решает эту проблему?Запись от Артем Enot Грунин размещена 06.08.2019 в 13:48 -
Еще один способ регистрации сборок с зависимостями
Цитата:Какие могут быть сложности в реальном проекте?
На более сложном проекте, сборки которого имеют сложные зависимости, ILRepack может начать ругаться на то, что в списке сборок InputAssemblies отсутствуют зависимые библиотеки. Не факт, что вы столкнетесь с этой проблемой, однако в моем проекте, инструмент в процессе слияния выдавал ошибку "невозможности загрузить Mocrosoft.Xrm.Sdk.dll или одну из ее зависимостей". Ни в коем случае не включайте сборки .NET, или SDK в свою сборку! Вы гарантированно получите трудно диагностируемый reference hell. Вместо этого, используйте параметр LibraryPath ( -lib в командной строке) чтобы указать каталог, где живут сборки SDK (даже если это тупо каталог bin - $(OutputPath)).
А если ServiceContext и файл-описание и исключить из проекта, все мержится хорошо.X++:Failed to resolve assembly: 'Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
Подскажите, как это можно обойти, правильно ли я понял что цитата выше решает эту проблему?Запись от ximik33rus размещена 06.08.2019 в 13:25 -
Встраивание отчета в панель мониторинга
Может кто переделывал данное расширение под 2013/15? Не устанавливается оно (((Запись от TankMan размещена 13.12.2015 в 14:26 -
Перенос образов из Hyper-V в VirtualBox
Спасибо
Ооочень спасибо. Замечательное решение. Иначе надо через VMware (VHD -> VMDK) с помощи "free converter" (Startwind V2V), потом VirtualBox дружит с VMware.Запись от cttnbg размещена 04.07.2015 в 11:31
Обновил(-а) cttnbg 04.07.2015 в 11:35 -
Управление подписками на отчеты SSRS в режиме интеграции с SharePoint
Судя по всему, проблема возникла после создания путей альтернативного доступа, распространения веб-приложения на 433 порт, или какой-то аналогичной операции. Видимо служба SSRS каким-то образом завязана на URL приложения где она используется. Сейчас наблюдаю интересную картину: при входе по HTTP подписок нет, а по HTTPS их видно. Шарик беспощаден.Запись от Артем Enot Грунин размещена 03.09.2014 в 17:33 -
Ошибка доступа к процедуре p_GetCrmUserId при запуске отчета
Да, решение - это техподдержка Microsoft. Смотрите один из последних моих постов, они официально подтвердили, что ошибка появляется после установки 16 пакета обновлений, так что с радостью избавят вас от ошибки.Запись от Артем Enot Грунин размещена 21.08.2014 в 21:14 -
Ошибка доступа к процедуре p_GetCrmUserId при запуске отчета
Это не будет работать в Office 365 + MS Dynamics CRM, ведь доступа к базам нет. Кто-то знает, есть ли какое-то решение для Office 365 версии?Запись от summer_babe размещена 21.08.2014 в 19:33
Обновил(-а) summer_babe 21.08.2014 в 19:50 -
Ошибки доступа к хранимым функциям и процедурам CRM
UPDATE: Техподдержка MS обнаружила, что 16й пакет обновления, действительно ошибочно удаляет нужные привилегии у функций. Я так и не понял, будет ли он исправлен в следующих пакетах, но ручная выдача прав исправляет ситуацию.Запись от Артем Enot Грунин размещена 21.08.2014 в 16:13 -
Ошибка доступа к процедуре p_GetCrmUserId при запуске отчета
Формально нет, однако оно влияет разве что на безопасность решения, так что вряд ли у вас отберут право на поддержку. Кстати, время от времени ошибка будет возвращаться - скорее всего после установки обновлений, поэтому, если есть возможность - обратитесь в техподдержку MS.Запись от Артем Enot Грунин размещена 09.04.2014 в 11:04 -
Ошибка доступа к процедуре p_GetCrmUserId при запуске отчета
Скажите пожалуйста, а это Supported изменения?Запись от spirius размещена 07.04.2014 в 18:35 -
Кастомные служебные задания для CRM
Мою инициативу поддержали на коннекте и обещали включить в дорожную карту. Возможно, в следующей версии у нас будет родная поддержка асинхронных служебных заданий.Запись от Артем Enot Грунин размещена 14.03.2014 в 10:55 -
Фото контакта. Почти поддерживаеммое решение.
Доброго времени суток. Это решение было написано еще под версию 4.0, уверен что оно вам не подходит. В интернет есть множество аналогов, которые вы без труда найдетеЗапись от Артем Enot Грунин размещена 02.11.2013 в 13:16 -
Фото контакта. Почти поддерживаеммое решение.
Откликнитесь пожалуйста. Необходимо встроить фото в контакты, но не разберусь как.Запись от nlweb размещена 29.10.2013 в 08:01 -
Как опредлить кому назначена запись: пользователю или команде в рабочем процессе (workflow)
Я думал об этом, но не экспериментировал, так как решил, что скорее всего будет нал референс. Моя проверка проще: поле Ответственный (тип не известен) сравнивается с полем "Ответственный рабочая группа" (тип рабочая группа). Если совпали - владелец группа. Не знаю почему в разных местах конструктора доступны разные поля, но раз так, пришлось импровизироватьЗапись от Артем Enot Грунин размещена 20.08.2013 в 13:22 -
Как опредлить кому назначена запись: пользователю или команде в рабочем процессе (workflow)
Добрый день.
Не понял как работает Ваша проверка, но по-моему проще так:
Если Ответственная рабочая группа (Рабочая группа): Рабочая группа содержит данныеЗапись от slivka_83 размещена 20.08.2013 в 11:46 -
Запись от Артем Enot Грунин размещена 12.07.2013 в 17:51