使用 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-name或connector-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 要使用的缓存信息。
-
*.fx.yaml - 从文件中提取的
- \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 概述