Microsoft Dynamics 365 的受支持扩展

 

发布日期: 2017年1月

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

使用 Microsoft Dynamics 365(在线或本地) Web 应用程序中提供的工具或 Microsoft Dynamics 365 中介绍的工具可以自定义 Microsoft Dynamics 365 SDK。 这些自定义设置受支持,并且可以升级。

使用此处描述的方法以外的方法创建的自定义设置不受支持,并且可能会导致更新和升级到 Microsoft Dynamics 365 时出现问题。 有关详细信息,请参阅不支持的自定义设置。

MSDN 上的 CRM 开发人员中心中的 MSDN 上发布的技术文章中的主题均受支持,但可能无法升级。

本主题内容

使用 Microsoft Dynamics Web 应用程序进行自定义

使用 Microsoft Dynamics 365 SDK 的自定义设置

对 .NET Framework 版本的支持

不支持的自定义设置

使用 Microsoft Dynamics Web 应用程序进行自定义

Microsoft Dynamics 365 附带了各种可用于对其进行自定义的工具。 使用 Microsoft Dynamics 365 工具和 Web 应用程序进行的自定义设置完全受支持,并且完全可升级。

可使用下列自定义方法生成完全受支持的自定义设置:

备注

完全受支持 意味着开发人员支持可以提供有关自定义设置的帮助,并且应用程序支持可以帮助客户运行这些修改。

有关在 Web 应用程序中使用自定义工具的详细信息,请参阅 Microsoft Dynamics CRM 2016 和 Microsoft Dynamics CRM Online 自定义指南

使用 Microsoft Dynamics 365 SDK 的自定义设置

Microsoft Dynamics 365 SDK、技术文章、在 Microsoft Dynamics CRM 开发人员中心上发布的示例代码,以及由 Microsoft Dynamics 365 开发人员支持团队发布的信息均属于使用 Microsoft Dynamics 365 SDK 的自定义设置。 本主题后面介绍了特定操作及其受支持程度和可升级性级别。

Microsoft Dynamics 365 SDK

完全支持使用 Web 服务。 其中包括:DiscoveryServiceOrganizationServiceOrganization Data Service、OData 端点、现代应用程序 SOAP 端点和 DeploymentService。 我们努力使 API 保持向后兼容,但保留为其他功能更改 API 的权利。 在未来版本中,实体属性也可能会有所变化。 有关详细信息,请参阅 在服务器上扩展 Microsoft Dynamics 365使用部署 Web 服务管理部署

客户端 JavaScript

可以在 Microsoft Dynamics 365(在线或本地) 中的三个区域使用 JavaScript:

  • 窗体脚本事件处理程序:您可以配置窗体事件处理程序以调用 JavaScript Web 资源中定义的函数。

  • "命令栏(功能区)命令:您可以使用 <CustomRule> (RibbonDiffXml)<JavaScriptFunction> (RibbonDiffXml) 元素来定义调用 JavaScript Web 资源中定义的函数的操作。

  • Web 资源和 IFRAME:您可以使用 HTML Web 资源中的 JavaScript Web 资源。 配置为允许跨网站脚本的 IFRAMES 或窗体包括的 HTML Web 资源中的脚本可以通过父引用与窗体中的记录的 Xrm.PageXrm.Utility 方法交互。

只能通过 客户端编程引用 中记录的具有 Xrm.PageXrm.Utility 命名空间的方法来执行与 Microsoft Dynamics 365 应用程序页的所有交互。 不支持直接访问任何 Microsoft Dynamics 365 应用程序页的文档对象模型 (DOM)。 不建议在窗体脚本和命令中使用 jQuery。详细信息:b7840a25-f25e-409b-8b6a-0ef04c7ed9c4#BKMK_UsingjQuery

您可以使用使用 URL 打开窗体、视图、对话框和报表中记录的方法打开 Microsoft Dynamics 365 窗体、视图、对话和报表。

功能区自定义

支持使用 RibbonDiffXml 添加、删除或隐藏功能区元素。 支持重用 Microsoft Dynamics 365 定义的功能区命令,但我们保留更改或弃用可用命令的权利。 不支持重用功能区命令中定义的 JavaScript 函数。

解决方案文件

支持修改非托管解决方案文件,如 Microsoft Dynamics 365 SDK 中所述。 通过以下步骤可执行某些自定义任务:

  • 将解决方案组件导出为非托管解决方案。

  • 提取解决方案包的内容。

  • 编辑 Customizations.xml 文件。

  • 重新打包解决方案文件。

  • 导入已修改的解决方案。

对 Customizations.xml 文件的更改必须符合 CustomizationsSolution.xsd 架构。 有关详细信息,请参阅Schemas used in Microsoft Dynamics 365

以下受支持任务需要此过程:

  • 功能区自定义。

  • 使用站点地图自定义应用程序导航。

  • 使用 FormXml 自定义窗体和仪表板。

  • 已保存查询自定义。

插件

完全支持使用此 Microsoft Dynamics 365 SDK 中描述的插件机制创建自定义业务逻辑的功能,并且该功能可以升级。 该功能适用于所有 Microsoft Dynamics 365 部署,包括内部部署、IFD 和联机部署。 但是,只能在 Microsoft Dynamics 365 (online) 的沙盒(隔离)中注册和执行插件。详细信息:编写插件以扩展业务流程

只有在 Microsoft Dynamics 365 内部部署和 IFD 服务器安装中,才支持将插件和自定义工作流活动程序集添加到 %installdir%\server\bin\ 文件夹中。

工作流

完全支持创建要从工作流规则调用的自定义工作流活动(程序集)的功能,并且该功能可以升级。 此功能可用于 Microsoft Dynamics 365 内部部署、IFD 和联机。 但是,只能在 Microsoft Dynamics 365 (online) 的沙盒(隔离)中注册和执行自定义工作流活动。详细信息:使用Dynamics 365 流程自动化业务流程

完全支持编辑 XAML 工作流的功能,并且该功能可以升级。 但是,此功能仅适用于 Microsoft Dynamics 365 内部部署和 IFD。详细信息:使用Dynamics 365 流程自动化业务流程

对 .NET Framework 版本的支持

下面介绍了为使用 Microsoft .NET Framework 4.5.2 编写的自定义代码提供支持时的注意事项。

使用调用 Microsoft Dynamics 365 Web 服务的 Microsoft .NET Framework 4.5.2 创建的任何 Web 服务客户端在 Microsoft Dynamics 365 中完全受支持。

使用 Microsoft .NET Framework 4.5.2 创建且要在 Microsoft Dynamics 365 中用作 Microsoft Dynamics 365 插件程序集或用作 Microsoft Dynamics 365 自定义工作流活动的任何 .NET 程序集均受支持。

使用 .NET Framework 4.5.2 创建的所有可视化(图表)。

不支持的自定义设置

不支持在没有使用 Microsoft Dynamics 365 或 Microsoft Dynamics 365 SDK 工具的情况下对 Microsoft Dynamics 365 所做的修改,并且更新或升级 Microsoft Dynamics 365 期间不会保留这些修改。Microsoft Dynamics 365 SDK 和支持文档中未记录的任何内容均不受支持。 此外,在通过添加修补程序或 Service Pack 进行更新时,或者在升级 Microsoft Dynamics 365 时,不受支持的修改还可能会导致出现问题。 为了尽可能减少更新和升级问题,请不要修改并非是您自己创建的任何 Microsoft Dynamics 365 文件。

下面是经常问及的不受支持的操作类型的列表:

  • 修改任何 .aspx、.css、.htm、.js、.xml、.jpg 或 .gif 文件,或者在位于 Program Files\Microsoft Dynamics 365 中的 Microsoft Dynamics 365 应用程序、Microsoft Dynamics 365 工具或 Microsoft Dynamics 365 文件的 wwwroot 目录中添加文件。 但是,如果您对这些文件进行了更改,系统将会检查到这些文件的修改,因此它们不会被覆盖。

  • 修改 Microsoft Dynamics 365 网站(文件和网站设置)。 应在不同的网站中安装自定义解决方案。 这包括修改 Microsoft Dynamics 365 服务器上任何文件的文件系统访问控制列表 (ACL)。

  • Microsoft Dynamics 365 SDK 不支持使用客户端证书。 如果将 Microsoft Dynamics 365 网站配置为需要 IIS 客户端证书,则任何使用该 SDK 生成的应用程序的身份验证都将失败。

  • 修改数据库的物理架构,而不是添加或更新索引。 这包括在未使用 Web 应用程序中的“系统自定义”功能或未使用本 SDK 文档中介绍的元数据 API 的情况下针对数据库执行的任何操作。 不支持修改数据库中的表、存储过程或视图。 由于参照完整性或升级问题,也不支持向数据库中添加表、存储过程或视图。 对于 Microsoft Dynamics 365 本地部署,根据部署和管理 Microsoft Dynamics CRM 文档中的指南支持添加索引。 这适用于所有 Microsoft Dynamics 365 数据库和 Microsoft Dynamics 365 for Outlook 本地数据库。

    如果在不使用系统自定义功能的支持方法的情况下更改数据库,则更新和升级期间可能会出现问题。

  • 在 Microsoft Dynamics 365 数据库中使用 SQL 命令或者除 Microsoft Dynamics 365 SDK 中所述那些技术之外的任何技术更改数据(记录)。

  • 引用除以下项以外的任何 Microsoft Dynamics 365 动态链接库 (DLL):

    • Microsoft.Xrm.Sdk.dll

    • Microsoft.Crm.Sdk.Proxy.dll

    • Microsoft.Xrm.Sdk.Workflow.dll

    • Microsoft.Xrm.Sdk.Deployment.dll

    • Microsoft.Crm.Outlook.Sdk.dll

    • Microsoft.Crm.Tools.EmailProviders.dll

  • 在 Web 服务 DeploymentService, DiscoveryService、Organization Data Service、用于 Web 资源的 SOAP 终结点和 OrganizationService 中使用除了记录的 API 以外的应用程序编程接口 (API)。

    为实现 Microsoft Dynamics 365 的外观和行为,重用任何 Microsoft Dynamics 365 用户界面控件,包括网格控件。 在升级过程中,可能会更改或覆盖这些控件。 建议您不要使用或更改 Microsoft Dynamics 365 根安装文件夹中的 Default.css 文件。

  • 重用任何 Microsoft Dynamics 365 JavaScript 代码,包括功能区命令。 在升级过程中,可能会更改或覆盖此代码。

  • 修改任一 Microsoft Dynamics 365 窗体、直接在 Microsoft Office Outlook 中添加新窗体(如自定义 .aspx 页)或更改 .pst 文件。 这些更改不会升级。

  • 除非在可在 Microsoft Dynamics 365 中脱机使用的 Dynamics 365 for Outlook 支持工具时进行自定义设置。

  • 使用自定义 HttpModules 将 HTML/DHTML 注入 Microsoft Dynamics 365 窗体中。

  • 不支持为标准 Microsoft Dynamics 365 程序集 (Microsoft.Crm.*.dll) 创建插件程序集,也不支持更新或删除平台创建的 pluginassembly

  • Microsoft Dynamics CRM 4.0 插件和自定义工作流活动不受支持。

  • Microsoft Dynamics CRM 4.0 服务终结点(2007 终结点)不受支持。

  • 不支持在 Internet Information Services (IIS) 网站中(尤其是在 ISV 文件夹中)为任何 VDir 创建 Microsoft Dynamics 365 应用程序。<crmwebroot>\ISV 文件夹不再受支持。

  • 不支持编辑解决方案文件,以编辑除了功能区、窗体、站点地图或已保存查询之外的任何解决方案组件。 有关详细信息,请参阅何时编辑 customizations.xml 文件。 不支持通过编辑解决方案文件来定义新解决方案组件。 不支持编辑随解决方案一起导出的 Web 资源文件。 除维护托管解决方案中记录的步骤外,不支持编辑托管解决方案的内容。

  • Silverlight 应用程序库缓存 不受支持。

  • 不支持在嵌入到另一个实体窗体中的 IFrame 内显示实体窗体。

另请参阅

选择 Dynamics 365 的开发样式
在服务器上扩展 Microsoft Dynamics 365
为 Microsoft Dynamics 365 窗体编写代码

Microsoft Dynamics 365

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