Мы можем получить компоненты Dynamics 365 CE, экспортировав решения. Такое решение представляет собой сжатую папку, содержащую несколько общих XML-файлов, а также файлов других форматов. Хранение этой папки или файлов решения в исходном репозитории не очень удобно, поскольку они включают в себя все объекты/настройки из общего файла.
Эти файлы могут пригодиться для просмотра изменений/обновлений в каждом объекте/компоненте и сохранения каждого объекта/компонента в отдельном файле, вместо помещения в общий файл для хранения в системе контроля версий.
Итак, Microsoft предоставила инструмент «SolutionPackager», который может обратимо разбивать сжатый файл решения Dataverse на несколько файлов XML и других файлов. Так что этими файлами можно легко управлять с помощью системы контроля версий. Инструмент SolutionPackager можно использовать с любой системой управления версиями. После того, как файл решения с разрешением .zip был извлечен в папку, просто добавьте и отправьте файлы в свою систему управления версиями. Затем эти файлы можно синхронизировать на другом компьютере, где они могут быть упакованы в новый идентичный ZIP-файл решения.
Здесь мы можем выполнить следующие шаги, чтобы создать/сохранить/изменить компоненты Dynamics 365 в системе управления версиями (например, Azure DevOps Repos).
Вариант А. Создайте решение
Следующая процедура включает в себя типичные шаги, используемые при первом создании решения и добавлении в исходный репозиторий.
-
В организации создайте решение, а затем при необходимости добавьте или создайте компоненты.
-
Когда вы будете готовы к регистрации, экспортируйте неуправляемое решение.
Формат сжатого файла решения будет отличаться в зависимости от его типа, будь то управляемый или неуправляемый. SolutionPackager может обрабатывать сжатые файлы решений любого типа. Однако инструмент не может преобразовать один тип в другой.
-
Установите инструмент SolutionPackager — он входит в пакет NuGet «Microsoft.CrmSdk.CoreTools» (шаги по загрузке инструментов).
-
С помощью инструмента SolutionPackager извлеките решение в файлы компонентов:
-
В проекте с помощью консоли диспетчера пакетов перейдите в папку, в которой существует exe-файл solutionPackager tools.
-
Запустите команду SolutionPackager.exe со следующими аргументами:
Структура команды для извлечения решения:
.\SolutionPackager.exe /action:Extract /zipfile:”solutionzip” /папка “extractedFilefolder”
Argument-
solutionzip: Обязательно. Путь и имя файла .zip решения. При распаковке файл должен существовать и из него будет выполняться чтение. При упаковке файл заменяется.
extractFilefolder: Обязательно. Путь к папке. При распаковке эта папка создается и заполняется файлами компонентов.
-
Из этих извлеченных файлов компонентов добавьте необходимые в службу управления версиями.
-
Отправьте эти изменения в службу контроля версий. В первый раз в DevOps Repos нужно создать необходимые папки и добавить в них извлеченные файлы.
На этом первый этап завершается.
Вариант Б. Изменить решение
Следующая процедура определяет типичные шаги, используемые при изменении существующего решения:
-
Синхронизируйте или получите последние источники файлов компонентов решения.
-
С помощью инструмента SolutionPackager упакуйте файлы компонентов в неуправляемый файл .zip решения.
Структура команд для упаковки файлов компонентов:
. \ SolutionPackager.exe / action: Pack / zipfile: «solutionzip» / папка «extractFilefolder»
Argument-
solutionzip: Обязательно. Путь и имя файла .zip решения. При упаковке файл будет либо создан, либо обновлен.
extractFilefolder: Обязательно. Путь к папке. При упаковке эта папка уже должна существовать. Он может содержать ранее извлеченные файлы компонентов.
-
Импортируйте файл неуправляемого решения (созданный на шаге выше) в организацию.
-
При необходимости настройте и отредактируйте решение.
-
Когда вы будете готовы проверить изменения в системе управления версиями, сделайте следующее:
-
экспортируйте неуправляемое решение;
-
используя инструмент SolutionPackager, извлеките экспортированное решение в файлы компонентов;
-
синхронизируйте или получите самые новые версии из системы контроля версий;
-
нажмите «Согласиться», если возникнут какие-либо конфликты;
-
отправьте изменения в службу контроля версий.
Шаги 2 и 3 должны быть выполнены до того, как в организации-разработчике произойдут дальнейшие настройки.
После того, как вы выполните необходимые манипуляции с файлом решений в системе контроля версий, вы сможете использовать функции DevOps.
Заключение
Инструмент «SolutionPackager» обратимо разбивает сжатый файл решения Dataverse на несколько файлов XML и других файлов таким образом, чтобы ими можно было легко управлять из любой службы управления версиями.