用于处理 Dataverse 解决方案项目的命令
指令
| Command | Description |
|---|---|
| pac 解决方案加载项许可证 | 将许可证和计划信息添加到解决方案。 |
| pac 解决方案加载项参考 | 将当前目录中项目的引用添加到“path”处的项目 |
| pac 解决方案 add-solution-component | 将一个或多个解决方案组件添加到 Dataverse 中的目标非托管解决方案。 |
| pac 解决方案检查 | 上传 Dataverse 解决方案项目以针对 Power Apps 检查器服务运行。 |
| pac 解决方案克隆 | 根据组织中的现有解决方案创建解决方案项目。 |
| pac 解决方案 create-settings | 从解决方案 zip 或解决方案文件夹创建设置文件。 |
| pac 解决方案删除 | 从当前环境中的 Dataverse 中删除解决方案。 |
| pac 解决方案导出 | 从 Dataverse 导出解决方案。 |
| pac 解决方案导入 | 将解决方案导入 Dataverse。 |
| pac 解决方案 init | 使用新的 Dataverse 解决方案项目初始化目录 |
| pac 解决方案列表 | 列出当前 Dataverse 组织中的所有解决方案 |
| pac 解决方案联机版本 | 设置 Dataverse 中加载的解决方案的版本。 |
| pac 解决方案包 | 将本地文件系统上的解决方案组件打包到 solution.zip (SolutionPackager) 中。 |
| pac 解决方案发布 | 发布所有自定义项 |
| pac 解决方案同步 | 将当前 Dataverse 解决方案项目同步到组织中解决方案的当前状态。 |
| pac 解决方案解压缩 | 将解决方案组件从 solution.zip 提取到本地文件系统(SolutionPackager)。 |
| pac 解决方案升级 | 应用解决方案升级 |
| pac 解决方案版本 | 更新解决方案的生成或修订版本。 |
pac 解决方案加载项许可证
将许可证和计划信息添加到解决方案。
Example
此示例演示如何向解决方案添加许可信息。
pac solution add-license --planDefinitionFile ../ISV_Plan_Definition.csv --planMappingFile ../ISV_Plan_Mapping.csv
计划定义文件
下面将找到计划定义文件的示例:
ServiceID,Display name,More info URL
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.bronzeplan,Fabrikam Bronze Plan,http://www.microsoft.com
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.silverplan,Fabrikam Silver Plan,http://www.microsoft.com
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,Fabrikam Gold Plan,http://www.microsoft.com
计划映射文件
下面将找到计划映射文件的示例:
Service ID,Component name
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.bronzeplan,crf36_BronzeApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.silverplan,crf36_BronzeApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.silverplan,crf36_SilverApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,crf36_BronzeApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,crf36_SilverApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,crf36_GoldApp
解决方案加载项许可证的必需参数
--planDefinitionFile
-pd
CSV 格式的许可证计划定义文件;预期列:服务 ID、显示名称、详细信息 URL。
--planMappingFile
-pm
CSV 格式的许可证计划映射文件;预期列:服务 ID、组件名称
pac 解决方案加载项参考
将当前目录中项目的引用添加到“path”处的项目
Example
pac solution add-reference --path c:\Users\Downloads\SampleComponent
解决方案加载项引用所需的参数
--path
-p
所引用项目的路径
pac 解决方案 add-solution-component
将一个或多个解决方案组件添加到 Dataverse 中的目标非托管解决方案。
Example
此示例演示如何将解决方案组件添加到解决方案。 在本例中,我们将联系人表添加到解决方案 SampleSolution。 表是组件类型 1。
pac solution add-solution-component --solutionUniqueName SampleSolution --component contact --componentType 1
解决方案 add-solution-component 的必需参数
--component
-c
要添加到目标解决方案的组件的架构名称或 ID。
--componentType
-ct
表示要添加的解决方案组件的值。
--solutionUniqueName
-sn
解决方案的名称。
解决方案 add-solution-component 的可选参数
--AddRequiredComponents
-arc
指示是否还应将要添加的解决方案组件所需的其他解决方案组件添加到非托管解决方案。
此参数不需要任何值。 这是一个开关。
--async
-a
异步导入解决方案。
此参数不需要任何值。 这是一个开关。
--environment
-env
目标环境的环境 URL 或 ID。
pac 解决方案检查
上传 Dataverse 解决方案项目以针对 Power Apps 检查器服务运行。
Example
pac solution check --path c:\Users\Documents\Solution.zip --outputDirectory c:\samplepackage --geo UnitedStates
解决方案检查的可选参数
--clearCache
-cc
清除租户的解决方案检查器强制缓存,其中包含与解决方案的过去结果相关的所有记录。
此参数不需要任何值。 这是一个开关。
--customEndpoint
-ce
将自定义 URL 指定为 Power Apps 检查器终结点。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--excludedFiles
-ef
从分析中排除文件。 以逗号分隔值的形式传递
--geo
-g
要使用的 Power Apps 检查器服务的地理实例。
使用以下值之一:
PreviewUnitedStatesUnitedStatesEuropeAsiaAustraliaJapanIndiaCanadaSouthAmericaUnitedKingdomFranceSouthAfricaGermanyUnitedArabEmiratesSwitzerlandNorwaySingaporeKoreaSwedenUSGovernmentUSGovernmentL4USGovernmentL5DoDChina
--outputDirectory
-o
输出目录
--path
-p
要检查的一个或多个解决方案文件的路径。 路径可以包含 glob/通配符。
--ruleLevelOverride
-rl
包含要重写的 JSON 数组规则和级别的文件的路径。 OverrideLevel 的接受值为:Critical、High、Medium、Low、Informational。 示例:[{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
--ruleSet
-rs
选择作为此生成一部分执行的规则集。 值:有效的 Guid、“AppSource 认证”、“解决方案检查器”(默认值)。
--saveResults
-sav
使用当前环境来存储解决方案分析结果,可在解决方案运行状况中心应用中查看。 默认情况下,此参数设置为 false。
此参数不需要任何值。 这是一个开关。
--solutionUrl
-u
指向要分析 solution.zip 的 SAS URI
pac 解决方案克隆
根据组织中的现有解决方案创建解决方案项目。
例子
以下示例演示了命令的使用 pac solution clone 。
基本克隆
此示例将解决方案 sampleSolution 克隆到当前目录。
pac solution clone --name sampleSolution
包含常规和自动编号设置的克隆
此示例将解决方案 sampleSolution 克隆到包含常规和自动编号设置的当前目录。
pac solution clone --name sampleSolution --include general,autonumbering
解决方案克隆所需的参数
--name
-n
要导出的解决方案的名称。
解决方案克隆的可选参数
--async
-a
异步导出解决方案。
此参数不需要任何值。 这是一个开关。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--include
-i
应将哪些设置包含在要导出的解决方案中。
使用以下一个或多个用逗号分隔的值:
autonumberingcalendarcustomizationemailtrackingexternalapplicationsgeneralisvconfigmarketingoutlooksynchronizationrelationshiprolessales
--localize
-loc
将所有字符串资源提取或合并到 .resx 文件中。
此参数不需要任何值。 这是一个开关。
--map
-m
要从中读取要打包的组件文件夹的映射 xml 文件的完整路径。
--max-async-wait-time
-wt
最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。
--outputDirectory
-o
输出目录
--packagetype
-p
指定解决方案的提取类型。 可以是:“Unmanaged”、“Managed”或“Both”。 默认值为:“Both”。
--targetversion
-v
已弃用:忽略此参数。
pac 解决方案 create-settings
从解决方案 zip 或解决方案文件夹创建设置文件。
Example
pac solution create-settings --solution-zip C:\SampleSolution.zip --settings-file .\SampleDeploymentSettingsDev.json
解决方案创建设置的可选参数
--settings-file
-s
具有连接引用和环境变量的部署设置的 .json 文件。
--solution-folder
-f
本地解压缩解决方案文件夹的路径:“其他/Solution.xml”文件的根目录或具有 .cdsproj 文件的文件夹。
--solution-zip
-z
解决方案 zip 文件的路径。
pac 解决方案删除
从当前环境中的 Dataverse 中删除解决方案。
Example
pac solution delete --solution-name Samplesolution
解决方案删除所需的参数
--solution-name
-sn
解决方案的名称。
用于删除解决方案的可选参数
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
pac 解决方案导出
从 Dataverse 导出解决方案。
Example
pac solution export --path c:\Users\Documents\Solution.zip --name SampleComponentSolution --managed true --include general
解决方案导出所需的参数
--name
-n
要导出的解决方案的名称。
解决方案导出的可选参数
--async
-a
异步导出解决方案。
此参数不需要任何值。 这是一个开关。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--include
-i
应将哪些设置包含在要导出的解决方案中。
使用以下一个或多个用逗号分隔的值:
autonumberingcalendarcustomizationemailtrackingexternalapplicationsgeneralisvconfigmarketingoutlooksynchronizationrelationshiprolessales
--managed
-m
是否应将解决方案导出为托管解决方案。
此参数不需要任何值。 这是一个开关。
--max-async-wait-time
-wt
最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。
--overwrite
-ow
导出的解决方案文件可以覆盖本地文件系统上的解决方案 zip 文件。
此参数不需要任何值。 这是一个开关。
--path
-p
导出的解决方案 zip 文件写入的路径。
--targetversion
-v
已弃用:忽略此参数。
pac 解决方案导入
将解决方案导入 Dataverse。
Example
pac solution import --path c:\Users\Documents\Solution.zip
解决方案导入的可选参数
--activate-plugins
-ap
在解决方案上激活插件和工作流。
此参数不需要任何值。 这是一个开关。
--async
-a
异步导入解决方案。
此参数不需要任何值。 这是一个开关。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--force-overwrite
-f
强制覆盖非托管自定义项
此参数不需要任何值。 这是一个开关。
--import-as-holding
-h
将解决方案导入为保留解决方案。
此参数不需要任何值。 这是一个开关。
--max-async-wait-time
-wt
最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。
--path
-p
解决方案 zip 文件的路径。 如果未指定,则假定当前文件夹是 cdsproj 项目。
--publish-changes
-pc
成功导入后发布更改。
此参数不需要任何值。 这是一个开关。
--settings-file
具有连接引用和环境变量的部署设置的 .json 文件。
--skip-dependency-check
-s
针对标记为产品更新的依赖项跳过依赖项检查
此参数不需要任何值。 这是一个开关。
--skip-lower-version
-slv
如果当前环境中存在相同或更高版本,请跳过解决方案导入。
此参数不需要任何值。 这是一个开关。
--stage-and-upgrade
-up
导入并升级解决方案。
此参数不需要任何值。 这是一个开关。
注解
使用 pac auth 命令连接到要使用的 pac solution import环境。
pac 解决方案导入
Path如果未指定参数,则假定当前文件夹是 cdsproj 项目。
SolutionPackageType如果 cdsproj 文件中的属性设置为Both,则默认使用托管解决方案。
pac 解决方案 init
使用新的 Dataverse 解决方案项目初始化目录
Example
pac solution init --publisher-name developer --publisher-prefix dev
解决方案 init 所需的参数
--publisher-name
-pn
Dataverse 解决方案发布者的名称
注意:仅允许范围 [A - Z]、[a - z]、[0 - 9]或 _ 范围内的字符。 第一个字符可能仅在 [A - Z]、[a - z] 或 _范围内。
--publisher-prefix
-pp
Dataverse 解决方案发布者的自定义前缀值
注意:前缀长度必须为 2 到 8 个字符,只能包含 alpha 数字,必须以字母开头,不能以“mscrm”开头。
解决方案 init 的可选参数
--outputDirectory
-o
输出目录
pac 解决方案列表
列出当前 Dataverse 组织中的所有解决方案
Example
pac solution list
解决方案列表的可选参数
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--includeSystemSolutions
包括由Microsoft发布的系统解决方案
此参数不需要任何值。 这是一个开关。
--json
以 JSON 格式字符串的形式返回命令的输出。
pac 解决方案联机版本
设置 Dataverse 中加载的解决方案的版本。
Example
pac solution online-version --solution-name Samplesolution --solution-version 1.0.0.2
解决方案联机版本的必需参数
--solution-name
-sn
解决方案的名称。
--solution-version
-sv
指定解决方案版本号。
解决方案联机版本的可选参数
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
pac 解决方案包
将本地文件系统上的解决方案组件打包到 solution.zip (SolutionPackager) 中。
Example
pac solution pack --zipfile C:\SampleSolution.zip --folder .\SampleSolutionUnpacked\.
解决方案包的必需参数
--zipfile
-z
解决方案 ZIP 文件的完整路径
解决方案包的可选参数
--allowDelete
-ad
指示是否可能发生删除作。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--allowWrite
-aw
指示是否可能发生写入作。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--clobber
-c
启用标记为只读的文件可以删除或覆盖。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--disablePluginRemap
-dpm
禁用的插件完全限定的类型名称重新映射。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--errorlevel
-e
日志输出的最低日志记录级别 [详细|信息 |警告 |错误 |关闭]。 默认值为“Info”。
--folder
-f
本地文件系统上根文件夹的路径。 解压缩或解压缩时,会写入此包。 打包时,将从中读取此内容。
--localize
-loc
将所有字符串资源提取或合并到 .resx 文件中。
此参数不需要任何值。 这是一个开关。
--log
-l
日志文件的路径。
--map
-m
要从中读取要打包的组件文件夹的映射 xml 文件的完整路径。
--packagetype
-p
解压缩或提取时,用于指定双重托管和非托管作。 打包时,用于指定前面解压缩“Both”的托管或非托管。 可以是:“Unmanaged”、“Managed”或“Both”。 默认值为“非托管”。
--singleComponent
-sc
仅对单个组件类型执行作 [WebResource|插件 |工作流 |无]。 默认值为“None”。
--sourceLoc
-src
生成模板资源文件。 仅在提取时有效。 可能的值是“auto”或要导出的语言的语言代码。 可以使用语言代码标识符(LCID)或国际标准化组织(ISO)语言代码格式。 如果存在,这将从给定的区域设置中提取字符串资源作为中性 .resx。 如果指定了“auto”或仅指定开关的长或短格式,则使用解决方案的基本区域设置。
--useLcid
-lcid
对语言文件使用语言代码标识符(LCID)值(1033),而不是国际标准化组织(ISO)代码(en-US)。
此参数不需要任何值。 这是一个开关。
--useUnmanagedFileForMissingManaged
-same
在打包托管 XML 文件且仅找到非托管 XML 文件时,请使用相同的 XML 源文件;适用于 AppModuleSiteMap、AppModuleMap、FormXml 文件。
此参数不需要任何值。 这是一个开关。
pac 解决方案发布
发布所有自定义项
Example
pac solution publish
解决方案发布的可选参数
--async
-a
以异步方式发布所有自定义项
此参数不需要任何值。 这是一个开关。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--max-async-wait-time
-wt
最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。
pac 解决方案同步
将当前 Dataverse 解决方案项目同步到组织中解决方案的当前状态。
例子
以下示例演示了命令的使用 pac solution sync 。
基本同步
此示例将解决方案同步到当前目录。
pac solution sync
解决方案同步的可选参数
--async
-a
异步导出解决方案。
此参数不需要任何值。 这是一个开关。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--include
-i
应将哪些设置包含在要导出的解决方案中。
使用以下一个或多个用逗号分隔的值:
autonumberingcalendarcustomizationemailtrackingexternalapplicationsgeneralisvconfigmarketingoutlooksynchronizationrelationshiprolessales
--localize
-loc
将所有字符串资源提取或合并到 .resx 文件中。
此参数不需要任何值。 这是一个开关。
--map
-m
要从中读取要打包的组件文件夹的映射 xml 文件的完整路径。
--max-async-wait-time
-wt
最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。
--packagetype
-p
解压缩或提取时,用于指定双重托管和非托管作。 打包时,用于指定前面解压缩“Both”的托管或非托管。 可以是:“Unmanaged”、“Managed”或“Both”。 默认值为:“Both”。
--solution-folder
-f
本地解压缩解决方案文件夹的路径:“其他/Solution.xml”文件的根目录或具有 .cdsproj 文件的文件夹。
pac 解决方案解压缩
将解决方案组件从 solution.zip 提取到本地文件系统(SolutionPackager)。
Example
pac solution unpack --zipfile C:\SampleSolution.zip --folder .\SampleSolutionUnpacked\.
解决方案解压缩所需的参数
--zipfile
-z
解决方案 ZIP 文件的完整路径
解决方案解压缩的可选参数
--allowDelete
-ad
指示是否可能发生删除作。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--allowWrite
-aw
指示是否可能发生写入作。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--clobber
-c
启用标记为只读的文件可以删除或覆盖。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--disablePluginRemap
-dpm
禁用的插件完全限定的类型名称重新映射。 默认值为“false”。
此参数不需要任何值。 这是一个开关。
--errorlevel
-e
日志输出的最低日志记录级别 [详细|信息 |警告 |错误 |关闭]。 默认值为“Info”。
--folder
-f
本地文件系统上根文件夹的路径。 解压缩或解压缩时,会写入此包。 打包时,将从中读取此内容。
--localize
-loc
将所有字符串资源提取或合并到 .resx 文件中。
此参数不需要任何值。 这是一个开关。
--log
-l
日志文件的路径。
--map
-m
要从中读取要打包的组件文件夹的映射 xml 文件的完整路径。
--packagetype
-p
解压缩或提取时,用于指定双重托管和非托管作。 打包时,用于指定前面解压缩“Both”的托管或非托管。 可以是:“Unmanaged”、“Managed”或“Both”。 默认值为“非托管”。
--singleComponent
-sc
仅对单个组件类型执行作 [WebResource|插件 |工作流 |无]。 默认值为“None”。
--sourceLoc
-src
生成模板资源文件。 仅在提取时有效。 可能的值是“auto”或要导出的语言的语言代码。 可以使用语言代码标识符(LCID)或国际标准化组织(ISO)语言代码格式。 如果存在,这将从给定的区域设置中提取字符串资源作为中性 .resx。 如果指定了“auto”或仅指定开关的长或短格式,则使用解决方案的基本区域设置。
--useLcid
-lcid
对语言文件使用语言代码标识符(LCID)值(1033),而不是国际标准化组织(ISO)代码(en-US)。
此参数不需要任何值。 这是一个开关。
--useUnmanagedFileForMissingManaged
-same
在打包托管 XML 文件且仅找到非托管 XML 文件时,请使用相同的 XML 源文件;适用于 AppModuleSiteMap、AppModuleMap、FormXml 文件。
此参数不需要任何值。 这是一个开关。
pac 解决方案升级
应用解决方案升级
Example
pac solution upgrade --solution-name SampleSolution --async --max-async-wait-time 60
解决方案升级所需的参数
--solution-name
-sn
解决方案的名称。
解决方案升级的可选参数
--async
-a
异步升级解决方案
此参数不需要任何值。 这是一个开关。
--environment
-env
指定目标 Dataverse。 该值可以是 Guid 或绝对 https URL。 如果未指定,将使用为当前身份验证配置文件选择的活动组织。
--max-async-wait-time
-wt
最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。
pac 解决方案版本
更新解决方案的生成或修订版本。
Example
pac solution version --patchversion 2
pac solution version --strategy gittags
解决方案版本的可选参数
--buildversion
-bv
解决方案的生成版本。
注意:该值必须是最小值为 0 的整数。
--filename
-fn
使用文件跟踪作为策略时要使用的跟踪器 CSV 文件名。 默认值为“ControlsStateVersionInfo.csv”。
--patchversion
-pv
已弃用:忽略此参数。
--revisionversion
-rv
解决方案的修订版本。
注意:该值必须是最小值为 0 的整数。
--solutionPath
-sp
Dataverse 解决方案目录或 Solution.xml 文件的路径。
--strategy
-s
使用指定的策略更新“Solution.xml”文件的生成版本。 如果使用 gittag,请在以下环境变量“PacCli.PAT”中设置个人访问令牌
使用以下值之一:
NoneGitTagsFileTrackingSolution
pac 解决方案克隆和导出之间的差异
在某些情况下,不确定何时使用 pac solution clone 或 pac solution export 命令。 可以在以下方案中使用其中一个命令:
- 需要向解决方案添加新组件时使用
pac solution clone。 -
pac solution export当想要修改解决方案文件中的现有内容,但不向解决方案添加新组件时使用。
pac 解决方案克隆
使用 pac solution clone 命令导出解决方案时,导出的解决方案看起来像 Visual Studio 项目。
.csproj 你将看到一个文件,而不是(如 Visual Studio 中所示cdsproj)。 该文件 cdsproj 包含生成项目所需的所有组件信息。 生成输出是一个解决方案 zip 文件,你可以将其导入到不同的环境中。
开发人员无需解压缩克隆的解决方案,因为它以 src (源) 文件夹中的解压缩格式呈现。
现在,如果要将新创建的插件与此解决方案相关联,并解压缩解决方案,可以使用 pac solution add-reference 该命令更新 .cdsproj 文件来添加新插件。 然后,可以使用或 dotnet buildmsbuild.
建议先执行生成还原,然后再生成项目。 生成还原(dotnet 生成首先自动执行还原)将还原所需的 .NET 库以生成打包的解决方案。
pac 解决方案导出
使用 pac solution export 创建者门户导出解决方案时,使用解决方案时,生成的输出是解决方案 zip 文件。
解压缩解决方案 zip 文件时(不建议使用标准工具打开 zip,并使用 CLI 中的相应命令)。 生成的目录结构类似于 .cdsproj 项目文件。
可以修改要更新的相关文件集,然后继续执行解决方案包,该包会再次生成解决方案 zip 文件,以便将解决方案导入目标环境。 作的结果是解决方案 zip 文件,其中包含更新的内容和更新的时间戳。
另请参阅
Microsoft Power Platform CLI 命令组
Microsoft Power Platform CLI 概述