使用托管属性

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

可以使用托管属性来控制哪些托管解决方案组件可自定义。 对于表示业务实体的那些解决方案组件,您应允许尽可能多的自定义。 这样,组织可以根据其需要自定义您的解决方案。 限制或消除提供解决方案核心功能的关键解决方案组件的自定义,以便您可以按可预见的方式支持和维护它。

托管属性旨在保护解决方案免遭可能导致它中断的修改。 托管属性不提供数字版权管理 (DRM) 或者用于许可解决方案或控制谁可以安装它的功能。

应用托管属性

当解决方案是非托管解决方案时,应用托管属性。 托管属性将在您打包托管解决方案并将它安装在不同组织中后生效。 安装托管解决方案后,只能使用原始发布者的解决方案更新来更新托管属性。

在查看解决方案组件列表时,大多数解决方案组件具有“托管属性”按钮。 单击此按钮,可以查看或更新解决方案组件的托管属性。 若要访问没有显示此按钮的解决方案的托管属性,请从“其他操作”下拉列表中选择“托管属性”。

默认情况下,所有自定义解决方案组件都可自定义。 若要更改解决方案组件的托管属性,请单击解决方案组件的工具栏中的“托管属性”按钮。 每个解决方案组件都有“可以自定义”(IsCustomizable) 属性。 只要此属性为 true,就可以指定特定于解决方案组件类型的其他属性。 如果将 IsCustomizable.Value 属性设置为 false,则在将解决方案安装为托管解决方案后,解决方案组件将不可自定义。 下表列出了每个解决方案组件的托管属性。

组件

显示名称

属性

实体

可以自定义

Value

可以修改显示名称

Value

可以是关系中的相关实体

.Value(只读)

可以是关系中的主要实体

.Value(只读)

可以具有多对多关系

.Value(只读)

可以创建新窗体

Value

可以创建新图表

Value

可以创建新视图

Value

可以更改并非由托管属性表示的任何其他实体属性

Value

字段(属性)

可以自定义

Value

可以修改显示名称

Value

可以更改需求级别

CanBeChanged

备注

RequiredLevel 是使用 CanBeChanged 属性的唯一托管属性。

可以更改并非由托管属性 (Property) 表示的任何其他特性 (Attribute) 属性 (Property)

Value

实体关系

可以自定义

Value

窗体​​

可以自定义

SystemForm.IsCustomizable.Value

图表​​

可以自定义

SavedQueryVisualization.IsCustomizable.Value

查看

可以自定义

SavedQuery.IsCustomizable.Value

选项集

可以自定义

Value

Web 资源​​

可以自定义

WebResource.IsCustomizable.Value

工作流

可以自定义

Workflow.IsCustomizable.Value

程序集

可以自定义

SdkMessageProcessingStep.IsCustomizable.Value

程序集注册

可以自定义

ServiceEndpoint.IsCustomizable.Value

电子邮件模板

可以自定义

Template.IsCustomizable.Value

知识库文章模板

可以自定义

KbArticleTemplate.IsCustomizable.Value

合同模板

可以自定义

ContractTemplate.IsCustomizable.Value

邮件合并模板

可以自定义

MailMergeTemplate.IsCustomizable.Value

仪表板​​

可以自定义

SystemForm.IsCustomizable.Value

安全角色

可以自定义

Role.IsCustomizable.Value

更新托管属性

在发布托管解决方案后,您可能决定需要更改托管属性。 您只能更改托管属性以使其限制条件更为宽松。 例如,在初始发布后,可以决定允许自定义实体。

通过发布具有更改的托管属性的解决方案更新,可以更新解决方案的托管属性。 托管解决方案只能由其他托管解决方案更新,该托管解决方案和原始托管解决方案与同一发布者记录相关联。 如果更新中包括托管属性更改(这些更改可使托管属性的限制条件更为严格),则会忽略这些托管属性更改,但会应用更新中的其他更改。

因为原始发布者是更新托管解决方案的托管属性的一项要求,所以任何非托管解决方案都不能与用于安装托管解决方案的发布者相关联。

备注

这意味着,您将无法使用安装了托管解决方案的组织为解决方案开发更新。

检查托管属性

使用 IsComponentCustomizableRequest 可以检查解决方案组件是否可自定义。 或者,您可以检查解决方案组件属性,但必须考虑含义的最终确定取决于多个属性的值。 每个解决方案组件均具有 IsCustomizable 属性。 在作为托管解决方案的一部分安装解决方案组件时,IsManaged 属性将为 true。 仅为托管解决方案强制实施托管属性。 在检查托管属性以确定单个解决方案组件是否可自定义时,必须同时检查 IsCustomizableIsManaged 属性。IsCustomizable 为 false 且 IsManaged 为 false 的解决方案组件可自定义。

除了 IsCustomizable 之外,实体和属性还具有其他托管属性。 如果 IsCustomizable 设置为 false,则不会更新这些托管属性。 这意味着,除了检查单个托管属性外,还必须检查 IsCustomizable 属性以确认是否强制实施了托管属性。

另请参阅

IsComponentCustomizableRequest
托管属性
解决方案开发的规划
维护托管解决方案
使用解决方案打包和分发扩展

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权