Dynamics crm Dynamics CRM部署:管理解决方案组件依赖关系

Dynamics crm Dynamics CRM部署:管理解决方案组件依赖关系,dynamics-crm,Dynamics Crm,我们正在尝试创建Dynamics CRM解决方案(在线版本),遵循来自的一些指导原则。其中一个建议是创建一个核心实体解决方案,并在上面创建一个托管层和功能作为单独的解决方案 当我们创建一个像“账户反馈”这样的实体时——这取决于账户——它完全适合该层。但是,如果我们想将帐户表单中的所有反馈列为子网格,那么我们将从account->account feedback构建一个依赖项。这迫使我们将客户反馈功能转移到核心解决方案。如果这种情况继续下去,并且我们在实体之间建立越来越多的依赖关系,我们最终会将所

我们正在尝试创建Dynamics CRM解决方案(在线版本),遵循来自的一些指导原则。其中一个建议是创建一个核心实体解决方案,并在上面创建一个托管层和功能作为单独的解决方案

当我们创建一个像“账户反馈”这样的实体时——这取决于账户——它完全适合该层。但是,如果我们想将帐户表单中的所有反馈列为子网格,那么我们将从account->account feedback构建一个依赖项。这迫使我们将客户反馈功能转移到核心解决方案。如果这种情况继续下去,并且我们在实体之间建立越来越多的依赖关系,我们最终会将所有东西都移动到一个大的单一解决方案中


我们做错了什么?

你没有做错什么。只需接受实体账户可能是您核心业务的一部分

核心解决方案通常包含数据模型的很大一部分,其实体所需的web资源也是该解决方案的必要部分

我建议部署仅包含非托管实体的核心解决方案。其他包含工作流、插件程序集和步骤等的解决方案可以在托管解决方案中单独部署

在某种程度上,您可能会发现将实体模型拆分为单独的解决方案非常有用。当您这样做时,您可以在这些解决方案上分发相同的核心实体,或者决定将您的核心实体添加到基础解决方案中


在第二个场景中,成功安装其他解决方案需要安装基本解决方案。

您可能会在programmers.stackexchange.com上获得更多帮助,因为他们更多地是针对此类概念设计问题。谢谢。我也将把它发布到那里。这使得我实例中的所有实体都转到核心,而其余的定制特性转到一个新的包中。非托管实体不是升级的问题吗?非托管实体为您提供了更大的灵活性。托管解决方案最初设计时考虑了ISV附加组件。对附加组件的一个要求是能够卸载它们而不留下任何痕迹。对于您的公司数据模型扩展,这是一个相当不利的条件,因为卸载托管解决方案可能会删除其中的表并销毁其中的数据。此外,当托管实体的非托管修改以某种方式进入生产系统时,无法再导入相同实体的托管更新。