Dataverse 支持的自定义

可以使用Power Apps或开发人员文档中介绍的工具自定义Microsoft Dataverse。 支持这些自定义项,并且可以升级。

使用此处所述的方法以外的方法进行的自定义不受支持,在更新和升级到 Dataverse 期间可能会导致问题。 有关详细信息,请参阅 不支持的自定义项。

Microsoft网站上发布的技术文章(如 Microsoft Learn)中涵盖的主题受支持,但可能无法升级。

使用 Power Apps 进行自定义

Dataverse 随附了各种工具,可用于自定义它。 使用 Power Apps 工具和 Web 应用程序进行的自定义完全受支持且完全可升级。

以下定制化方法可用于实现全面支持的定制化内容:

Note

完全支持意味着,开发支持团队可以为定制内容提供协助,而应用支持团队可以帮助使用这些修改内容的客户。

有关在 Web 应用程序中使用自定义工具的详细信息,请参阅 什么是 Dataverse?

使用代码应用的自定义

本网站上面向开发人员的文档、发布的技术文章和示例代码,以及 Dataverse 开发人员支持团队发布的信息,均属于使用代码进行的自定义范围。 本主题后面将描述特定的支持性、升级性动作及其级别。

Dataverse Web 服务

完全支持使用 Web 服务。 这包括:Web API、组织服务和发现服务。 我们努力使 API 向后兼容,但保留更改 API 的其他功能的权利。 将来的版本中,表列也可能更改。

解决方案文件

在本文档中所述的情况下,支持对非托管解决方案文件进行修改。 可以使用以下步骤执行模型驱动应用的某些自定义任务:

  1. 将解决方案组件导出为非托管解决方案。
  2. 提取解决方案包的内容。
  3. 编辑 Customizations.xml 文件。
  4. 重新打包解决方案文件。
  5. 导入修改后的解决方案。

Note

Customizations.xml 文件的更改必须符合 CustomizationsSolution.xsd 架构。 有关详细信息,请参阅 自定义解决方案文件架构

可以使用此过程执行以下受支持的任务:

  • 功能区自定义。
  • 使用 SiteMap 的应用程序导航自定义。
  • 使用 FormXml 进行窗体和仪表板自定义。
  • 保存的查询自定义。

插件

使用本文档中所述的插件机制创建自定义业务逻辑的功能完全受支持和可升级。 插件只能在沙盒中注册和执行(隔离)。 详细信息: 插件

工作流扩展

支持完全自定义的工作流活动(程序集)并可升级,这些活动可以从工作流规则中调用。 自定义工作流活动只能在沙盒中注册和执行(隔离)。 详细信息: 工作流扩展

对 .NET Framework 版本的支持

下面介绍了针对 Microsoft .NET Framework 的自定义代码的支持注意事项。

  • 完全支持使用调用 Dataverse Web 服务的 Microsoft .NET Framework 4.6.2 或更高版本创建的任何 Web 服务客户端。
  • Dataverse 支持任何面向 Microsoft .NET Framework 4.6.2 到 4.8 的.NET程序集项目,以用作插件程序集或自定义工作流活动程序集。

你可以在 Dataverse 的 Microsoft.PowerPlatform.Dataverse.ClientMicrosoft.CrmSdk.CoreAssemblies NuGet 包中查看最新的受支持 .NET Framework 生成目标列表。

Tip

为了利用改进的安全性和其他增强功能,新的应用程序代码项目应面向 .NET Framework 4.8 或更高版本,而插件或自定义工作流活动项目应面向 .NET Framework 4.8。

对 .NET Core 版本的支持

以下列表描述了面向 Microsoft .NET Core 的自定义代码的支持注意事项。

  • 完全支持使用调用 Dataverse Web 服务的 Microsoft .NET Core 8 或更高版本创建的任何 Web 服务客户端。

你可以在 Microsoft.PowerPlatform.Dataverse.Client NuGet 包中查看最新的受支持 .NET Core 生成目标列表。

不支持的自定义设置

不支持对 Dataverse 所做的修改,这些修改不使用本文档中所述的方法或 Dataverse 工具,并且不会在 Dataverse 的更新或升级期间保留。 在本文档及支持文档中未记录的任何内容都不受支持。 此外,当通过添加修补程序或 Service Pack 或升级 Dataverse 进行更新时,不支持的修改可能会导致问题。

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

  • 引用以下以外的任何 Dataverse 动态链接库(DLL):

    • Microsoft.Crm.Outlook.Sdk.dll
    • Microsoft.Crm.Sdk.Proxy.dll
    • Microsoft.Xrm.Sdk.dll
    • Microsoft.Xrm.Sdk.Data.dll
    • Microsoft.Xrm.Sdk.Deployment.dll
    • Microsoft.Xrm.Sdk.Workflow.dll
    • Microsoft.Xrm.Tooling.Connector.dll
    • Microsoft.Xrm.Tooling.CrmConnectControl.dll
    • Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase.dll
    • Microsoft.Xrm.Tooling.WebResourceUtility.dll
  • Web 服务中记录的 API 以外的应用程序编程接口(API)的使用:Web API、sdk for .NET、部署服务、发现服务、组织数据服务。

  • 插件和工作流程序集必须包含相应 DLL 中的所有必要逻辑。 插件可以引用某些核心 .NET 程序集。 但是,我们不支持与低级别Windows API(如图形设计界面)交互的.NET程序集的依赖项。 以前,Dynamics 365允许程序集引用这些接口,但为了遵守我们的安全标准,需要更改此行为。

  • 不支持为标准 Dataverse 程序集(Microsoft.Crm.*.dll)创建插件程序集或执行所创建pluginassembly平台的更新或删除。

  • 注册和执行来自以任意版本的 .NET Core 为目标构建的程序集的插件或自定义工作流活动。

  • 不支持编辑解决方案文件以编辑功能区、窗体、SiteMap 或保存查询以外的任何解决方案组件。 有关详细信息,请参阅 “何时”编辑自定义项文件。 不支持通过编辑解决方案文件来定义新的解决方案组件。 不支持编辑使用解决方案导出的 Web 资源文件。 除了 维护托管解决方案中所述的步骤外,不支持编辑托管解决方案的内容。

Outlook客户端

  • 对任何一个 Dynamics 365 表单进行修改,或将新表单(如自定义 .aspx 页面)直接添加到 Office Outlook,或者修改 .pst 文件。 不会对这些更改进行升级。
  • 使用支持的工具以外的任何方式进行自定义。

另见

模型驱动应用的受支持自定义