组织您的解决方案
开始创建解决方案之前,请花一些时间进行计划。 例如,考虑想要发布解决方案的数量以及解决方案是否共享组件。
另外,确定将需要开发解决方案系列的 Microsoft Dataverse 环境的数量。 可以将单个环境用于本文中介绍的大多数策略。 但是,如果您决定只选择一个环境而稍后意识到需要更多环境,则很难为已经安装它们的用户更改解决方案。 使用多个环境时,虽然导致更多复杂性,但是可以提供更好的灵活性。
以下各节介绍了管理按照从简单到更复杂的顺序列出的解决方案的不同策略。
单一解决方案
通过创建解决方案,可以建立自定义项的工作集。 这样便于查找已自定义的项目。
当您只想创建单个托管解决方案时,建议使用此方法。 如果您认为将来可能必须分割解决方案,请考虑使用多个解决方案。
多个解决方案
如果您有两个不共享组件的非相关解决方案,则最直接的方法是超级两个非托管解决方案。
备注
在解决方案中经常会修改应用程序功能区或站点地图。 如果您的两个解决方案都修改了这些解决方案组件,则这些组件为共享组件。 请参见下面的部分了解如何处理共享组件。
多个解决方案分层和依赖关系
将不同解决方案导入到目标环境中时,在创建的层中,现有解决方案通常位于正在导入的解决方案下。 在进行解决方案分层时,切勿存在跨解决方案依赖项。 应避免在使用同一个非托管组件的同一个环境中有多个解决方案。 尤其是对于表来说。
不存在跨依赖项风险时,按组件类型为解决方案分段。 例如,在一个解决方案中包含所有表,在另一个解决方案中包含所有插件,在第三个解决方案中包含所有流。 这些不同组件不存在跨解决方案依赖项风险。 因此,同一个环境中包含多个以这种方式形成的解决方案是安全的。
请勿在一个环境中包含两个都包含表的不同解决方案。 这是因为,经常存在表之间存在单一关系这样的风险,这会创建跨解决方案依赖关系,从而以后在目标环境中造成解决方案升级或删除问题。
在设计解决方案层时,如果希望为应用采用结构化方法,应该从基础层开始。 然后,导入更多解决方案,这些解决方案将位于基础层之上。 之后,您将有一个基础层和其上的扩展层,后者扩展该基础层。
如果按照这种方法管理项目,建议为每个层使用单独环境。 使用这些步骤建立解决方案分层。
在以下步骤中创建解决方案时,在环境中为所有解决方案使用一个发布程序。 详细信息:解决方案发布商
在“基础”环境中,基础解决方案中仅包含来自该环境的非托管表,不包含其他任何表。 然后将此解决方案作为托管解决方案导出。
再为以后将位于基础层之上的扩展或“应用”层设置一个环境。
将托管基础层导入到应用层环境中,然后为应用层创建一个非托管解决方案。
现在可以通过在应用解决方案中添加更多表、列、表关系等扩展数据模型。 然后将应用解决方案作为托管阿解决方案导出。 请注意,此应用解决方案将依赖于基础层解决方案。
在生产环境中,导入托管基础层,然后导入托管应用层。 这将在环境中创建两个托管层,其中两个托管解决方案明确相互依赖。 按这种方法管理多个解决方案不会产生跨解决方案依赖关系,后者可能导致解决方案维护问题,如在需要时删除顶部层。
重复此分段模式,以便根据需要创建要维护的大量不同解决方案。 不过,建议保留的解决方案尽量少,以便轻松管理解决方案分层。