此方案应对您的生产环境只包含非托管解决方案来用于自定义或您在默认解决方案中进行自定义的情况。 此处介绍的任务演示如何使用单个解决方案将所有非托管组件转换为托管组件,该解决方案用于在测试和生产环境中创建单个托管层。 然后,您可能需要创建其他解决方案来开发不同的分层策略和解决方案之间的依赖关系。
除了开发环境之外,您的环境中仅应拥有托管解决方案。 更多信息:托管和非托管解决方案。
必备条件
- 独立的开发和生产环境。 此外,我们建议您至少还要维护一个独立于开发和生产环境的测试环境。
- 了解发布者的重要性。 详细信息:解决方案发布商
将非托管解决方案转换为托管
识别和删除不必要的表和组件:
- 创建生产环境备份。 您可以在下一步中通过解决方案导出和导入恢复可能被无意删除的组件。
- 从生产环境中删除不需要的表和组件。 例如,考虑删除没有记录或记录非常早的表,或者没有依赖关系的表和组件。 详细信息:查看组件的依赖项
创建用于将组件从非托管转换为托管的 单个 解决方案:
警告
请务必仔细选择此非托管解决方案的发布者。 理想情况下,应在开发环境中创建一个发布服务器,以避免使用默认发布服务器。 如果你有多个发布者,现在是时候决定今后使用哪个发布者了。 使用特定发布者的托管解决方案导入组件后,无法更改该组件的发布者。 因此,最好只使用一个发布者来灵活地在以后的解决方案之间更改分层模型。 请记住,此建议仅适用于在您开始此过程时,仍然只在生产环境中使用非托管解决方案的情况下。
- 在您的开发环境中,创建一个非托管解决方案,用于包含所有自定义组件。 包括您可能已创建的表、模型驱动应用、窗体、视图、列、图表和仪表板,以及您可能更改的 Microsoft 组件。 将所有这些组件合并在一个解决方案中有助于减少使用多个解决方案时可能出现的跨解决方案分层问题的可能性。 详细信息:创建解决方案
- 仅将已创建或修改的内容添加到解决方案中。
- 对于 非托管 表(如自定义表),在将表添加到解决方案时不会使用表分段。 而是在将这些表添加到解决方案时选择 “包括所有对象 ”。
- 如果存在托管表(如您自定义的现成表),在将这些表添加到解决方案时使用表细分。 例如,如果更改了现成表(如 帐户 和 联系人)现有列的显示名称,请使用分段,以便仅导出项目所需的自定义组件,而不是不需要的其他组件,因为它们已存在于目标环境中。 为此,请选择编辑对象,然后仅添加您自定义的组件到解决方案中。 详细信息: 在解决方案中使用表格分段
提示
要查看是否已自定义托管组件,请查找将在组件的基本托管层之上的非托管层。 详细信息:查看组件的解决方案层
在目标环境中部署 单个 托管解决方案:
- 建议先在生产环境的副本中部署此解决方案,以用作验证。 详细信息:复制环境
- 将 单个 解决方案从开发环境导出为 托管解决方案。 详细信息:导出解决方案
- 如果目标环境中存在与要导入的托管解决方案同名的非托管解决方案,请在目标环境中删除非托管解决方案记录。 要删除非托管解决方案记录,请转到 Power Apps,选择测试或生产环境,选择解决方案,选择非托管解决方案,然后在命令栏上选择删除。 请注意,删除非托管解决方案不会删除解决方案的非托管组件。
- 将 单个 托管解决方案导入目标环境。 详细信息:导出解决方案。
验证目标环境:
- 您可以使用各种类型的测试来检查应用的特定功能是否正常工作。 其中一些测试包括单元测试、端到端和用户验收测试 (UAT)。
- 导入托管解决方案后,所有非托管组件都已转换为托管组件。 目标是消除目标环境中的活动层。 检查是否有具有活动层的任何组件。 如果发现任何内容,可能是因为你错过了将它们包含在开发环境中的非托管解决方案中。 在这种情况下,请返回到开发环境,添加缺少的组件,然后重新部署托管解决方案。
后续步骤
现在,您已经移到托管解决方案,我们建议您了解解决方案和组件分层。 此外,除了您的开发环境之外,您的环境中不应有任何非托管自定义或非托管解决方案。 详细信息:解决方案层