pac 画布

使用 Power Apps .msapp 文件进行作

[本文为预发布文档,可能会发生变化。]

重要

  • pack弃用命令unpack
  • 若要对画布应用进行源代码管理,请使用 Power Platform Git 集成
  • create 命令已正式发布。

指令

Command Description
pac 画布创建 从自定义连接器生成画布应用
pac 画布下载 将画布应用下载为 .msapp 文件
pac 画布列表 列出画布应用
pac 画布包 (预览版)将源打包到 msapp 文件中
pac 画布解压缩 (预览版)将 msapp 文件提取到源中
pac 画布验证 (预览版)验证解压缩的 msapp 文件的 .pa.yaml 源

pac 画布创建

从自定义连接器生成画布应用

此命令将基于现有.msapp的 OpenAPI 定义生成画布应用。 应用将包含基于自定义连接器作的定义方式生成的屏幕、控件布局和 Power Fx 代码,以及预定义的外观。 该应用可用于直接执行自定义连接器中定义的作。

创建者可以将生成的生成 .msapp 导入到 Power Apps Studio 中以播放应用,或执行编辑并进行进一步的自定义。 导航到 Studio 中的 “文件>打开>浏览 ”,将生成的应用导入 Power Apps Studio。

例子

以下示例演示了命令的使用 pac canvas create

根据显示名称基于开放 API 定义创建画布应用

此示例使用连接器的显示名称基于 Open API 定义创建画布应用(作为 *.msapp 文件)。

pac canvas create --msapp HelloWorld.msapp --connector-display-name "My Custom Connector"

根据 ID 创建基于开放 API 定义的画布应用

此示例使用连接器的 ID 基于 Open API 定义创建画布应用(作为 *.msapp 文件)。

pac canvas create --msapp HelloWorld.msapp --connector-id 00000000-0000-0000-0000-000000000000

connector-display-name connector-id要么是必需的。

画布创建所需的参数

--msapp

要生成的 .msapp 文件的路径

画布创建的可选参数

--connector-display-name

要从中生成 Power App 的连接器的显示名称。

--connector-id

要从中生成 Power App 的连接器的 ID。

--environment

目标环境 ID 或 URL。 默认值为当前活动 Dataverse 身份验证配置文件的环境。

注解

注意事项和限制:

  • 使用 connector-display-nameconnector-id 参数引用的自定义连接器必须是 解决方案的一部分。
  • 将应用导入工作室后,不会关联到自定义连接器。 创建者必须手动添加对从中生成应用的自定义连接器的引用,然后才能播放应用。 有关步骤,请参阅 向画布应用添加数据连接 。 在完成此作之前,你可能会在应用中看到公式错误,该错误将在添加连接器引用后解决。 添加到应用的自定义连接器的名称必须与命令中 canvas create 引用的自定义连接器的显示名称匹配。
  • 应用将包含连接器定义的每个 POST 屏幕和 GET 作。
    • 不支持自定义连接器中提供的其他谓词。
  • 根据定义每个作的输入和输出类型的方式,动态生成在每个作屏幕上呈现的控件。 自定义连接器中定义的某些类型的输入和输出不受支持 canvas create。 遇到这些警告时,该命令将在控制台中生成警告。 特定情况:
    • 不支持将对象数组和数组数组作为输入
    • 控件不会为深度为 20 以外的对象或嵌套数组生成控件
    • 输入或输出不支持“File”和“binary format”类型。

pac 画布下载

将画布应用下载为 .msapp 文件

画布下载所需的参数

--name -n

画布应用确切、部分名称或应用 ID

画布下载的可选参数

--environment -env

指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。

--extract-to-directory -d

用于将画布应用解压缩到的目录名称

--file-name -f

文件名(通常为 .msapp 扩展名)。 如果未提供文件,则使用“appname”.msapp 保存在当前目录中

--overwrite -o

允许文件覆盖

此参数不需要任何值。 这是一个开关。

pac 画布列表

列出画布应用

画布列表的可选参数

--environment -env

指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。

pac 画布包

(预览版)将源打包到 msapp 文件中

Example

pac canvas pack --sources MyHelloWorldFiles --msapp HelloWorld.msapp

画布包的必需参数

--msapp

.msapp 文件的路径

--sources

要打包的源的目录

注解

从以前解压缩的源文件创建文件 .msapp 。 可以通过导航到 “文件>打开>浏览”在 Power Apps Studio 中打开结果。

解压缩后,可以使用 Visual Studio Code 和 GitHub 等外部工具编辑和管理源文件。

pac 画布解压缩

(预览版)将 msapp 文件提取到源中

Example

pac canvas unpack --msapp HelloWorld.msapp --sources MyHelloWorldFiles
pac canvas unpack --msapp HelloWorld.msapp

解压缩到默认 HelloWorld_src 目录。

画布解压缩所需的参数

--msapp

.msapp 文件的路径

画布解压缩的可选参数

--sources

要解压缩的源的目录

注解

解压缩 .msapp 源文件。

.msapp通过导航到“文件>另存为此计算机”>,从 Power Apps Studio 下载该文件。

如果未指定 参数,则与文件相同的名称和位置 .msapp 的目录与后缀一起使用 _src

文件夹结构

解压缩和打包属性使用以下文件夹结构:

  • \src - 控制和组件文件。 这包含源。
    • *.fx.yaml - 从文件中提取的 control.json 公式。

      注释

      这是编辑公式的位置。

    • CanvasManifest.json - 包含标头、属性和 publishInfo 中通常存在的信息的清单文件。
    • *.json - 原始文件 control.json
    • \EditorState*.editorstate.json - Power Apps Studio 要使用的缓存信息。
  • \DataSources - 应用使用的所有数据源。
  • \Connections - 与 应用一起保存的连接实例,并在重新加载到 Power Apps Studio 时使用。
  • \Assets - 嵌入在应用中的媒体文件。
  • \pkgs - 下载的外部引用副本,例如模板、API 定义文件和组件库。 这些引用类似于 NuGet/NPM 引用。
  • \other - 重新创建 .msapp该文件所需的所有杂项文件。
    • entropy.json - 将易失元素(如时间戳)提取到此文件中。 这有助于减少其他文件中的干扰差异,同时确保我们仍然可以往返。
    • 保存 msapp 中的其他文件,例如 \r推理中的内容。

文件格式

这些文件 .fx.yaml 使用 YAML 的子集。 与 Excel 类似,所有表达式应以等号 =开头。 详细信息: Power Fx YAML 公式语法

使用 Power Apps Studio 合并更改

合并两个不同的 Power Apps Studio 会话中所做的更改时:

  • 确保所有控件名称都是唯一的。 例如,在两个不同的会话中插入按钮可能会导致两 Button1 个控件。 建议在创建控件后不久命名控件。 该工具不接受两个具有相同名称的控件。
  • 对于这些文件,请像平时一样合并这些文件:
    • \src*.fx.yaml
  • 如果存在冲突或错误,可以删除这些文件:
    • \src\editorstate*.json - 这些文件在 Power Apps Studio 中包含可选信息。
    • 打开 \other\entropy.js
  • 对于这些文件中的任何冲突,可以接受最新版本:
    • 打开 \checksum.js
  • 如果这些路径下存在任何合并冲突,则无法进行合并。 请告诉我们这种情况是否经常发生;我们将努力调整文件格式以避免冲突。
    • \连接*
    • \DataSources*
    • \pkgs*
    • CanvasManifest.json

开源

Microsoft Power Platform CLI 中的画布命令是开源的。 讨论改进、提出问题以及从 Power Apps 语言工具存储库访问代码。

pac 画布验证

(预览版)验证解压缩的 msapp 文件的 .pa.yaml 源

画布验证所需的参数

--directory -d

包含要验证的 .pa.yaml 文件的提取 msapp 目录的路径

另请参阅

Microsoft Power Platform CLI 命令组
Microsoft Power Platform CLI 概述