方案 3:在组织中从非托管解决方案过渡到托管解决方案

此方案应对您的生产环境包含多个非托管解决方案或您在默认解决方案中进行自定义的情况。 此处描述的任务向您展示如何使用将用于在您的测试和生产环境中创建单个托管层的单个解决方案将所有非托管模型驱动应用组件转换为托管。 然后,您可能需要创建其他解决方案来开发不同的分层策略和解决方案之间的依赖关系。

除开发环境之外,最终结果是在您的环境中仅具有托管解决方案。 更多信息:托管和非托管解决方案

先决条件

  • 独立的开发和生产环境。 此外,我们建议您至少还要维护一个独立于开发和生产环境的测试环境。
  • 为所有环境中的所有解决方案使用单一发布者。 详细信息:解决方案发布商

将非托管解决方案转换为托管

  1. 识别和删除不必要的表和组件。

    1. 创建生产环境的备份。 您可以在下一步中通过解决方案导出和导入恢复可能被无意删除的组件。
    2. 从生产环境中删除不需要的表和组件。 例如,考虑删除没有记录或记录非常早的表,或者没有依赖关系的表和组件。 详细信息:查看组件的依赖项
  2. 创建用于将组件从非托管转换为托管的解决方案。

    • 在您的开发环境中,创建一个单一非托管解决方案,用于包含所有 Microsoft Dataverse 模型驱动应用、表格和相关组件,如表单、视图、字段、图表和仪表板。 将所有这些组件整合在一起可以帮助减少以后更新或引入新模型驱动应用和自定义时可能发生的跨解决方案分层问题的可能性。 详细信息:创建解决方案
      • 对于非托管组件,如自定义非托管表,您不会使用细分,但在将这些组件添加到解决方案时会选择包括所有组件
      • 如果有您自定义的托管组件,请在将这些组件添加到解决方案时使用细分。 例如,如果您已添加自定义列或将现有列的显示名称更改为 Power Apps 标准表,如客户联系人,请使用细分,以仅导出您的项目需要的自定义组件,而不导出您不打算提供的其他组件。 要实现此目的,请选择选择组件,然后仅将您的自定义组件添加到解决方案中。

        小费

        要查看是否已自定义托管组件,请查找将在组件的基本托管层之上的非托管层。 详细信息:查看组件的解决方案层

    • 如果您有画布应用、流、门户应用或插件要转换,您可以现在或稍后将它们添加到单独的非托管解决方案中。
    • 请记住为所有解决方案使用一个发布者。 详细信息:解决方案发布商
  3. 部署托管解决方案。

    1. 如果您有现有的测试环境,可以转到下一步。 但是,我们建议您制作一个生产环境的副本来用作测试环境。 详细信息:复制环境
    2. 将开发环境中的非托管解决方案导出为托管。 详细信息:导出解决方案
    3. 如果测试环境中存在与要导入的托管解决方案同名的非托管解决方案,请删除测试环境中的非托管解决方案记录。 要删除非托管解决方案记录,请转到 Power Apps,选择测试或生产环境,选择解决方案,选择非托管解决方案,然后在命令栏上选择删除。 请注意,删除非托管解决方案不会删除解决方案的非托管组件。
    4. 使用具有 convert-to-managed 参数或 DevOps 工具解决方案导入任务的 Power Platform CLI 解决方案导入命令将解决方案导入您的测试环境。 目前,您无法使用 Power Apps 门户成功导入解决方案以及将所有组件转换为托管。
    5. 您可以使用各种类型的测试来检查应用的特定功能是否正常工作。 其中一些测试包括单元测试、端到端和用户验收测试 (UAT)。
    6. 测试完成并验证后,重复步骤 c-e,但不要在您的测试环境中执行该步骤,而是在您的生产环境中执行。
    7. 如果您有画布应用、流或门户应用,请先将托管解决方案导入您的测试环境,然后再以与上述类似方式导入生产环境。

后续步骤

现在,您已经移到托管解决方案,我们建议您了解解决方案和组件分层。 此外,除了您的开发环境之外,您的环境中不应有任何非托管自定义或非托管解决方案。 详细信息:解决方案层

另请参阅

方案 5:支持团队开发