Основные понятия решения
Решения — это механизм реализации управления жизненным циклом приложений (ALM) в Power Apps и Power Automate. В этой статье описываются следующие ключевые концепции решения:
- Существует два типа решений (управляемые и неуправляемые)
- Компоненты решения
- Жизненный цикл решения
- Издатель решения
- Решение и управление зависимостями компонентов решений
Управлямые и неуправляемые решения
Решение является управляемым или неуправляемым.
Неуправляемые решения разрабатываются. Неуправляемые решения используются в средах разработки при внесении изменений в ваше приложение. Неуправляемые решения можно экспортировать как неуправляемые или как управляемые. Экспортированные неуправляемые версии ваших решений должны быть зарегистрированы в вашей системе управления версиями. Неуправляемые решения должны рассматриваться как источник активов Microsoft Power Platform. При удалении неуправляемого решения удаляется только контейнер решения со всеми содержащимися в нем настройками. Все неуправляемые настройки остаются в силе и относятся к решению по умолчанию.
Управляемые решения разворачиваются. Управляемые решения разворачиваются в любой среде, которая не является средой разработки для этого решения. Эти среды включают в себя тестирование, приемочное тестирование пользователя (UAT), тестирование системной интеграции (SIT) и рабочие среды. Управляемые решения могут обслуживаться независимо от других управляемых решений в среде. В соответствии с передовой практикой ALM управляемые решения должны создаваться путем экспорта неуправляемого решения как управляемого и рассматриваться как артефакт сборки. Кроме того:
- Нельзя изменить компоненты непосредственно в управляемом решении. Чтобы изменить управляемые компоненты, сначала добавьте их в неуправляемое решение.
- Редактируя управляемый компонент, вы создаете зависимость между неуправляемыми настройками и управляемым решением. При наличии зависимости управляемое решение невозможно удалить до ее удаления.
- Некоторые управляемые компоненты невозможно изменить. Чтобы проверить, можно ли редактировать компонент, просмотрите Управляемые свойства.
- Экспортировать управляемое решение невозможно. Однако вы можете экспортировать неуправляемое решение как управляемое.
- При удалении управляемого решения удаляются все включенные в него настройки и расширения.
- Нельзя изменить компоненты непосредственно в управляемом решении. Чтобы изменить управляемые компоненты, сначала добавьте их в неуправляемое решение.
Внимание
- Управляемое решение невозможно импортировать в ту же среду, где находится исходное неуправляемое решение. Чтобы протестировать управляемое решение, нужно импортировать его в отдельную среду.
- При удалении управляемого решения теряются следующие данные: данные, хранящиеся в настраиваемых таблицах, которые являются частью управляемого решения, и данные, хранящиеся в настраиваемых столбцах, которые являются частью управляемого решения, для других таблиц, которые не являются частью управляемого решения.
Создатели и разработчики работают в средах разработки, используя неуправляемые решения, а затем импортируют их в другие последующие среды, — такие как тест — как управляемые решения.
Заметка
Когда вы настраиваете в среде разработки, вы работаете в неуправляемом слое. Затем, когда вы экспортируете неуправляемое решение в виде управляемого решения для распространения в другой среде, управляемое решение импортируется в среду на управляемом уровне. Дополнительные сведения: Слои решений
Компоненты решения
Компонент, также называемый объектами, представляет что-либо, что можно потенциально настроить. Все, что может быть включено в решение, — это компонент. Чтобы просмотреть компоненты, включенные в решение, откройте нужное решение. Компоненты перечислены в списке Компоненты.
Заметка
- Максимальный размер решения: 95 МБ.
- Нельзя изменить компоненты непосредственно в управляемом решении.
Чтобы просмотреть список типов компонентов, которые можно добавить в любое решение, см. раздел Параметры ComponentType.
Некоторые компоненты вложены в другие компоненты. Например, таблица содержит формы, представления, столбцы, отношения таблиц, сообщения и бизнес-правила. Каждый из этих компонентов требует, чтобы существовала таблица. За исключением столбцов выбора, все остальные столбцы не могут существовать за пределами таблицы. Мы говорим, что столбец зависит от таблицы. Типов компонентов вдвое больше, чем в списке выше, однако большинство из них вложены в компоненты в приложении не видны.
Назначение компонентов — дать возможность отслеживать какие-либо ограничения на то, что можно настроить с помощью управляемых свойств и всех зависимостей решений, чтобы его можно было экспортировать, импортировать и (в управляемых решениях) удалить без остатка.
Жизненный цикл решения
Решения поддерживают следующие действия, которые помогают поддерживать процессы жизненного цикла приложения:
- Создание. Создание и экспорт неуправляемых решений.
- Обновление. Создание обновлений в управляемом решении, развернутых в родительском управляемом решении. Вы не можете удалить компоненты с помощью обновления.
- Обновление. Импортируйте решение как обновление для существующего управляемого решения, которое удаляет неиспользуемые компоненты и реализует логику обновления. Обновления включают накопление (объединение) всех исправлений в решении в новой версии решения. При обновлении решения удаляются компоненты, которые существовали, но больше не включены в обновленную версию. Вы можете выбрать немедленное обновление или запланировать обновление, чтобы можно было выполнить некоторые дополнительные действия до завершения обновления.
- Исправление. Исправление содержит только изменения для родительского управляемого решения, например добавление или изменение активов и компонентов. Используйте исправления при создании небольших обновлений (аналогично оперативному исправлению). Когда исправления импортируются, они накладываются поверх родительского решения. Вы не можете удалить компоненты с помощью исправления.
Издатель решения
Каждое приложение и другие компоненты решения, такие как таблицы, которые вы создаете, или любая создаваемая вами настройка является частью решения. Поскольку у каждого решения есть издатель, вы должны создать своего собственного издателя, а не использовать его по умолчанию. Вы указываете издателя, когда создаете решение.
Заметка
- По умолчанию, если вы не используете пользовательское решение, вы будете работать с системными решениями по умолчанию, известными как Решение по умолчанию Common Data Service и решения По умолчанию. Дополнительные сведения: Решение по умолчанию и решение по умолчанию Common Data Service
- Предпочтительное решение — это указанное вами решение, которое становится решением по умолчанию. Дополнительные сведения: Настройка предпочтительного решения
Издатель решения, в котором создается компонент, считается владельцем этого компонента. Владелец компонента контролирует, какие изменения могут вносить другие издатели решений, включающих этот компонент, а какие изменения запрещены. Можно перенести тип собственности на компонент из одного решения в другое в пределах одного и того же издателя, но не между издателями. После того как вы представите издателя для компонента в управляемом решении, вы не сможете изменить издателя для компонента. Из-за этого ограничения лучше всего определить одного издателя, чтобы вы могли позже изменить модель многоуровневого размещения для разных решений.
Издатель решения указывает, кто разработал приложение. По этой причине вы должны создать имя издателя решения, которое имеет смысл.
Префикс издателя решения
Издатель решения включает префикс. Префикс издателя — это механизм, помогающий избежать конфликтов имен. Это позволяет устанавливать решения от разных издателей в той же среде с небольшим количеством конфликтов. Например, отображаемое здесь решение Contoso содержит префикс издателя решения contoso.
Заметка
Когда вы изменяете префикс издателя решения, вы должны сделать это перед созданием любых новых приложений или элементов метаданных, потому что вы не можете изменить имена элементов метаданных после того, как они изначально созданы.
Дополнительные сведения:
Зависимости решений
Из-за того, что управляемые решения рассматриваются как уровни, некоторые управляемые решения могут зависеть от компонентов в других управляемых решениях. Некоторые издатели решений пользуются этим и делают свои решения модульными. Возможно, будет необходимо установить "базовое" управляемое решение, а затем второе управляемое решение, которое будет дополнительно настраивать компоненты в базовом управляемом решении. Второе управляемое решение зависит от компонентов, входящих в состав первого решения.
Система отслеживает эти зависимости между решениями. При попытке установить решение, которому требуется базовое решения, которое не установлено, установить решение вы не сможете. Появится сообщение о том, что решение требует предварительной установки другого решения. Аналогично, из-за зависимостей, нельзя удалить базовое решение, если зависящее от него решение по-прежнему установлено. Необходимо удалить зависимое решение, прежде чем удалять базовое решение. Дополнительные сведения: Удаление зависимостей
Зависимости компонентов решения
Компонент решения представляет что-либо, может потенциально можно настроить. Все, что может быть включено в решение, является компонентом решения, и некоторые компоненты зависят от других компонентов. Например, столбец веб-сайта и сводный отчет организации оба зависят от таблицы организации. Дополнительные сведения: Отслеживание зависимостей для компонентов решений
См. также
Слои решений
Создание и управление средами в центре администрирования Power Platform