Code Generator для Visual Studio
Code Generator это расширение для Visual Studio, которое генерирует Early Bound классы для CRM. Аналогично тому, как это делает CrmSvcUtil.exe и функция Generate Wrapper в CRM Developer Toolkit, но только в самом Visual Studio.
Преимущества по сравнению со стандартными инструментами:
- Контроль над тем, для каких объектов будет генерированы классы. Что сведет размер сгенерированного кода к минимуму. CrmSvcUtil.exe сгенерирует файл кода в ~200000 строк (примерно по 1000 строк на каждый объекта).
- Вместе с инструментом идет ряд готовых шаблонов кодогенерации T4, которые при необходимости сможете отредактировать, что даст Вам полный контроль над тем, как будет выглядеть сгенерирован код.
- Генерация и регенерация классов прямо из Visual Studio. Вся конфигурация хранится в файле решения, что позволяет Вам хранить ее в Source Control.
Использование:
- Установите расширение Code Generator.
- Добавьте шаблон к своему проекту Tools – Add CRM Code Generator Template.
- Выберет нужный шаблон T4. В поставке идут следующие:
- CrmSvcUtil.tt – сгенерированный код будет точно таким же как при использовании CRmSvcUtil.exe
- CrmSvcUtilExtended.tt – как в CRmSvcUtil.exe плюс добавляются имена полей и значения пиклистов.
- JavaScript.tt – пример того как генерировать JavaScript-файл из метаданных CRM (взят отсюда https://crm2011codegen.codeplex.com)
- CSharp.tt – POCO пример того, как поместить аннотацию данных C# в поля (требует, чтобы Вы добавили ссылку на System.ComponentModel.DataAnnotations в Ваш проект).
- Sample.tt – просто еще один пример для C#.
- Подключитесь к CRM и выберите объекты для которых нужно сгенерировать классы.
З.Ы. Вся информация о соединении с CRM (имя пользователя и пароль) будет сохранена к файле .SLN.
После генерации кода, Вы может пересобрать сгенерированные классы (например, после изменения метаданых в CRM) щелкнув правой кнопкой по шаблону – Run custom tool.