Основные понятия решения

Решения представляют собой механизм для внедрения управления жизненным циклом приложений (ALM) в Power Apps и Power Automate. В этой статье описываются следующие ключевые концепции решения:

  • Два типа решений
  • Компоненты решения
  • Жизненный цикл решения
  • Издатель решения
  • Решение и управление зависимостями компонентов решений

Управлямые и неуправляемые решения

Решение является управляемым или неуправляемым.

  • Разрабатываются неуправляемые решения . Неуправляемые решения используются в средах разработки при внесении изменений в ваше приложение. Неуправляемые решения можно экспортировать как неуправляемые или как управляемые. Экспортированные неуправляемые версии ваших решений должны быть зарегистрированы в вашей системе управления версиями. Неуправляемые решения должны рассматриваться как источник активов Microsoft Power Platform. При удалении неуправляемого решения удаляется только контейнер решения со всеми включенными в него настройками. Все неуправляемые настройки остаются в силе и относятся к решению по умолчанию.

  • Развертываются управляемые решения . Управляемые решения разворачиваются в любой среде, которая не является средой разработки для этого решения. Это включает в себя тестовую среду, среду приемочного тестирования пользователями, среду SIT и производственные среды. Управляемые решения могут обслуживаться независимо от других управляемых решений в среде. В соответствии с передовой практикой ALM управляемые решения должны создаваться путем экспорта неуправляемого решения как управляемого и рассматриваться как артефакт сборки. Кроме того:

    • Нельзя изменить компоненты непосредственно в управляемом решении. Чтобы изменить управляемые компоненты, сначала добавьте их в неуправляемое решение.
      • Совершая подобные действия, вы создаете зависимость между неуправляемыми настройками и управляемым решением. При наличии зависимости управляемое решение невозможно удалить до ее удаления.
    • Некоторые управляемые компоненты невозможно изменить. Чтобы проверить, можно ли редактировать компонент, просмотрите Управляемые свойства.
    • Экспортировать управляемое решение невозможно.
    • При удалении управляемого решения удаляются все включенные в него настройки и расширения.

    Внимание

    • Управляемое решение невозможно импортировать в ту же среду, где находится исходное неуправляемое решение. Чтобы протестировать управляемое решение, нужно импортировать его в отдельную среду.
    • При удалении управляемого решения теряются следующие данные: данные, хранящиеся в настраиваемых сущностях, которые являются частью управляемого решения, и данные, хранящиеся в настраиваемых атрибутах, которые являются частью управляемого решения, для других сущностей, которые не являются частью управляемого решения.

Создатели и разработчики работают в средах разработки, используя неуправляемые решения, а затем импортируют их в другие последующие среды, — такие как тест — как управляемые решения.

Распространение решения от разработчика до сред тестирования.

Заметка

Когда вы настраиваете в среде разработки, вы работаете в неуправляемом слое. Затем, когда вы экспортируете неуправляемое решение в виде управляемого решения для распространения в другой среде, управляемое решение импортируется в среду на управляемом уровне. Дополнительные сведения: Слои решений

Компоненты решения

Компонент представляет что-либо, может потенциально можно настроить. Все, что может быть включено в решение, — это компонент. Чтобы просмотреть компоненты, включенные в решение, откройте нужное решение. Компоненты перечислены в списке Компоненты.

Компоненты в решении.

Заметка

  • Максимальный размер решения: 95 МБ.
  • Нельзя изменить компоненты непосредственно в управляемом решении.

Чтобы просмотреть список типов компонентов, которые можно добавить в любое решение, см. раздел Параметры ComponentType.

Некоторые компоненты вложены в другие компоненты. Например, сущность содержит формы, представления, диаграммы, поля, отношения сущностей, сообщения и бизнес-правила. Каждый из этих компонентов требует, чтобы существовала сущность. Поле не может существовать вне сущности. Мы говорим, что поле зависит от сущности. Типов компонентов в два раза больше, чем показано в предыдущем списке, но большинство из них вложены в другие компоненты и не видны в приложении.

Назначение компонентов — дать возможность отслеживать какие-либо ограничения на то, что можно настроить с помощью управляемых свойств и всех зависимостей решений, чтобы его можно было экспортировать, импортировать и (в управляемых решениях) удалить без остатка.

Жизненный цикл решения

Решения поддерживают следующие действия, которые помогают поддерживать процессы жизненного цикла приложения:

  • Создание авторских и экспортированных неуправляемых решений.

  • Обновление Создание обновлений для управляемое решение, которые развертываются в родительский элемент управляемое решение. Вы не можете удалить компоненты с помощью обновления.

  • Обновление Импортируйте решение как обновление существующего управляемое решение, которое удаляет неиспользуемые компоненты и реализует логику обновления. Обновления включают накопление (объединение) всех исправлений в решении в новой версии решения. Обновления решения удаляют компоненты, которые существовали, но больше не включены в обновленную версию. Вы можете выбрать немедленное обновление или запланировать обновление, чтобы можно было выполнить некоторые дополнительные действия до завершения обновления.

  • Патч Патч содержит только изменения для родительский элемент управляемое решение,, такие как добавление или редактирование компонентов и активов. Используйте исправления при создании небольших обновлений (аналогично оперативному исправлению). Когда исправления импортируются, они накладываются поверх родительского решения. Вы не можете удалить компоненты с помощью исправления.

Издатель решения

Каждое приложение и другие компоненты решения, такие как сущности, которые вы создаете, или любая создаваемая вами настройка является частью решения. Поскольку у каждого решения есть издатель, вы должны создать своего собственного издателя, а не использовать его по умолчанию. Вы указываете издателя, когда создаете решение.

Заметка

Даже если вы не используете пользовательское решение, вы будете работать с решениями, известными как Решение по умолчанию Common Data Service и решения По умолчанию. Дополнительные сведения: Решение по умолчанию и решение по умолчанию Common Data Service

Издатель решения, в котором создается компонент, считается владельцем этого компонента. Владелец компонента контролирует, какие изменения могут вносить другие издатели решений, включающих этот компонент, а какие изменения запрещены. Можно перенести тип собственности на компонент из одного решения в другое в пределах одного и того же издателя, но не между издателями. После того как вы представите издателя для компонента в управляемом решении, вы не сможете изменить издателя для компонента. Из-за этого ограничения лучше всего определить одного издателя, чтобы впоследствии можно было изменить модель многоуровневости для разных решений.

Издатель решения указывает, кто разработал приложение. По этой причине вы должны создать имя издателя решения, которое имеет смысл.

Префикс издателя решения

Издатель решения включает префикс. Префикс издателя — это механизм, помогающий избежать конфликтов имен. Это позволяет устанавливать решения от разных издателей в среде с небольшим количеством конфликтов. Например, отображаемое здесь решение Contoso содержит префикс издателя решения contoso.

Пример префикса издателя решения.

Заметка

Когда вы изменяете префикс издателя решения, вы должны сделать это перед созданием любых новых приложений или элементов метаданных, потому что вы не можете изменить имена элементов метаданных после того, как они изначально созданы.

Дополнительные сведения:

Зависимости решений

Из-за того, что управляемые решения рассматриваются как уровни, некоторые управляемые решения могут зависеть от компонентов в других управляемых решениях. Некоторые издатели решений пользуются этим для создания модульных решений. Возможно, вам сначала придется установить «базовый» управляемое решение, а затем вы сможете установить второй управляемое решение, который дополнительно настроит компоненты в базовом управляемое решение. Второе управляемое решение зависит от компонентов, входящих в состав первого решения.

Система отслеживает эти зависимости между решениями. При попытке установить решение, которому требуется базовое решения, которое не установлено, установить решение вы не сможете. Вы получите сообщение о том, что для решения требуется сначала установить другое решение. Аналогично, из-за зависимостей вы не можете удалить базовое решение, пока установлено зависящее от него решение. Необходимо удалить зависимое решение, прежде чем удалять базовое решение. Дополнительные сведения: Удаление зависимостей

Зависимости компонентов решения

Компонент решения представляет что-либо, может потенциально можно настроить. Все, что может быть включено в решение, является компонентом решения, и некоторые компоненты зависят от других компонентов. Например, поле веб-сайта и сводный отчет организации зависят от сущности организации. Дополнительные сведения: Отслеживание зависимостей для компонентов решений

См. также

Слои решения
Создание и управление средами в Power Platform центре администрирования