pac solution

用于处理 Dataverse 解决方案项目的命令

指令

Command Description
pac solution add-license 将许可证和计划信息添加到解决方案。
pac solution add-reference 将当前目录中项目的引用添加到“path”处的项目
pac solution add-solution-component 将一个或多个解决方案组件添加到 Dataverse 中的目标非托管解决方案。
pac solution check 上传 Dataverse 解决方案项目以针对 Power Apps 检查器服务运行。
pac solution clone 根据组织中的现有解决方案创建解决方案项目。
pac solution create-settings 从解决方案 zip 或解决方案文件夹创建设置文件。
pac solution delete 从当前环境中的 Dataverse 中删除解决方案。
pac solution export 从 Dataverse 导出解决方案。
pac solution import 将解决方案导入 Dataverse。
pac solution init 使用新的 Dataverse 解决方案项目初始化目录
pac solution list 列出当前 Dataverse 组织中的所有解决方案
pac solution online-version 设置 Dataverse 中加载的解决方案的版本。
pac solution pack 将本地文件系统上的解决方案组件打包到 solution.zip (SolutionPackager) 中。
pac solution publish 发布所有自定义项
pac solution sync 将当前 Dataverse 解决方案项目同步到组织中解决方案的当前状态。
pac solution unpack 将解决方案组件从 solution.zip 提取到本地文件系统(SolutionPackager)。
pac solution upgrade 应用 solution upgrade
pac solution version 更新解决方案的生成或修订版本。

pac solution add-license

将许可证和计划信息添加到解决方案。

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

所需的参数 solution add-license

--planDefinitionFile -pd

CSV 格式的许可证计划定义文件;预期列:服务 ID、显示名称、详细信息 URL。

--planMappingFile -pm

CSV 格式的许可证计划映射文件;预期列:服务 ID、组件名称

pac solution add-reference

将当前目录中项目的引用添加到“path”处的项目

Example

pac solution add-reference --path c:\Users\Downloads\SampleComponent

所需的参数 solution add-reference

--path -p

所引用项目的路径

pac solution add-solution-component

将一个或多个解决方案组件添加到 Dataverse 中的目标非托管解决方案。

Example

此示例演示如何将解决方案组件添加到解决方案。 在本例中,我们将联系人表添加到解决方案 SampleSolution。 表是组件类型 1。

pac solution add-solution-component --solutionUniqueName SampleSolution --component contact --componentType 1

所需的参数 solution add-solution-component

--component -c

要添加到目标解决方案的组件的架构名称或 ID。

--componentType -ct

表示要添加的解决方案组件的值。

--solutionUniqueName -sn

解决方案的名称。

可选参数 solution add-solution-component

--AddRequiredComponents -arc

指示是否还应将要添加的解决方案组件所需的其他解决方案组件添加到非托管解决方案。

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

--async -a

异步导入解决方案。

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

--environment -env

目标环境的环境 URL 或 ID。

pac solution check

上传 Dataverse 解决方案项目以针对 Power Apps 检查器服务运行。

Example

pac solution check --path c:\Users\Documents\Solution.zip --outputDirectory c:\samplepackage --geo UnitedStates

可选参数 solution check

--clearCache -cc

solution check为租户清除与解决方案的过去结果相关的所有记录的 er 强制缓存。

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

--customEndpoint -ce

将自定义 URL 指定为 Power Apps 检查器终结点。

--environment -env

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

--excludedFiles -ef

从分析中排除文件。 以逗号分隔值的形式传递

--geo -g

要使用的 Power Apps 检查器服务的地理实例。

使用以下值之一:

  • PreviewUnitedStates
  • UnitedStates
  • Europe
  • Asia
  • Australia
  • Japan
  • India
  • Canada
  • SouthAmerica
  • UnitedKingdom
  • France
  • SouthAfrica
  • Germany
  • UnitedArabEmirates
  • Switzerland
  • Norway
  • Singapore
  • Korea
  • Sweden
  • USGovernment
  • USGovernmentL4
  • USGovernmentL5DoD
  • China

--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、“市场认证”、“解决方案检查器”(默认值)。

--saveResults -sav

使用当前环境来存储解决方案分析结果,可在解决方案运行状况中心应用中查看。 默认情况下,此参数设置为 false。

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

--solutionUrl -u

指向要分析 solution.zip 的 SAS URI

pac solution clone

根据组织中的现有解决方案创建解决方案项目。

例子

以下示例演示了命令的使用 pac solution clone

基本克隆

此示例将解决方案 sampleSolution 克隆到当前目录。

pac solution clone --name sampleSolution

包含常规和自动编号设置的克隆

此示例将解决方案 sampleSolution 克隆到包含常规和自动编号设置的当前目录。

pac solution clone --name sampleSolution --include general,autonumbering

所需的参数 solution clone

--name -n

要导出的解决方案的名称。

可选参数 solution clone

--async -a

异步导出解决方案。

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

--environment -env

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

--include -i

应将哪些设置包含在要导出的解决方案中。

使用以下一个或多个用逗号分隔的值:

  • autonumbering
  • calendar
  • customization
  • emailtracking
  • externalapplications
  • general
  • isvconfig
  • marketing
  • outlooksynchronization
  • relationshiproles
  • sales

--localize -loc

将所有字符串资源提取或合并到 .resx 文件中。

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

--map -m

要从中读取要打包的组件文件夹的映射 xml 文件的完整路径。

--max-async-wait-time -wt

最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。

--outputDirectory -o

输出目录

--packagetype -p

指定解决方案的提取类型。 可以是:“Unmanaged”、“Managed”或“Both”。 默认值为:“Both”。

--targetversion -v

已弃用:忽略此参数。

pac solution create-settings

从解决方案 zip 或解决方案文件夹创建设置文件。

Example

pac solution create-settings --solution-zip C:\SampleSolution.zip --settings-file .\SampleDeploymentSettingsDev.json

可选参数 solution create-settings

--settings-file -s

具有连接引用和环境变量的部署设置的 .json 文件。

--solution-folder -f

本地解压缩解决方案文件夹的路径:“其他/Solution.xml”文件的根目录或具有 .cdsproj 文件的文件夹。

--solution-zip -z

解决方案 zip 文件的路径。

pac solution delete

从当前环境中的 Dataverse 中删除解决方案。

Example

pac solution delete --solution-name Samplesolution

所需的参数 solution delete

--solution-name -sn

解决方案的名称。

可选参数 solution delete

--environment -env

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

pac solution export

从 Dataverse 导出解决方案。

Example

pac solution export --path c:\Users\Documents\Solution.zip --name SampleComponentSolution --managed true --include general

所需的参数 solution export

--name -n

要导出的解决方案的名称。

可选参数 solution export

--async -a

异步导出解决方案。

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

--environment -env

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

--include -i

应将哪些设置包含在要导出的解决方案中。

使用以下一个或多个用逗号分隔的值:

  • autonumbering
  • calendar
  • customization
  • emailtracking
  • externalapplications
  • general
  • isvconfig
  • marketing
  • outlooksynchronization
  • relationshiproles
  • sales

--managed -m

是否应将解决方案导出为托管解决方案。

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

--max-async-wait-time -wt

最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。

--overwrite -ow

导出的解决方案文件可以覆盖本地文件系统上的解决方案 zip 文件。

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

--path -p

导出的解决方案 zip 文件写入的路径。

--targetversion -v

已弃用:忽略此参数。

pac solution import

将解决方案导入 Dataverse。

Example

pac solution import --path c:\Users\Documents\Solution.zip

可选参数 solution import

--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

如果当前环境中存在相同或更高的版本,则跳过 solution import 。

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

--stage-and-upgrade -up

导入并升级解决方案。

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

注解

使用身份验证命令pac solution import连接到环境pac

pac solution import

Path如果未指定参数,则假定当前文件夹是 cdsproj 项目。 SolutionPackageType如果 cdsproj 文件中的属性设置为Both,则默认使用托管解决方案。

pac solution init

使用新的 Dataverse 解决方案项目初始化目录

Example

pac solution init --publisher-name developer --publisher-prefix dev

所需的参数 solution init

--publisher-name -pn

Dataverse solution publisher 的名称

注意:仅允许范围 [A - Z]、[a - z]、[0 - 9]或 _ 范围内的字符。 第一个字符可能仅在 [A - Z]、[a - z] 或 _范围内。

--publisher-prefix -pp

Dataverse solution publisher 的自定义前缀值

注意:前缀长度必须为 2 到 8 个字符,只能包含 alpha 数字,必须以字母开头,不能以“mscrm”开头。

可选参数 solution init

--outputDirectory -o

输出目录

pac solution list

列出当前 Dataverse 组织中的所有解决方案

Example

pac solution list

可选参数 solution list

--environment -env

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

--includeSystemSolutions

包括由Microsoft发布的系统解决方案

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

--json

以 JSON 格式字符串的形式返回命令的输出。

pac solution online-version

设置 Dataverse 中加载的解决方案的版本。

Example

pac solution online-version --solution-name Samplesolution --solution-version 1.0.0.2

所需的参数 solution online-version

--solution-name -sn

解决方案的名称。

--solution-version -sv

solution version指定数字。

可选参数 solution online-version

--environment -env

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

pac solution pack

将本地文件系统上的解决方案组件打包到 solution.zip (SolutionPackager) 中。

Example

pac solution pack --zipfile C:\SampleSolution.zip --folder .\SampleSolutionUnpacked\.

所需的参数 solution pack

--zipfile -z

解决方案 ZIP 文件的完整路径

可选参数 solution pack

--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 solution publish

发布所有自定义项

Example

pac solution publish

可选参数 solution publish

--async -a

以异步方式发布所有自定义项

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

--environment -env

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

--max-async-wait-time -wt

最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。

pac solution sync

将当前 Dataverse 解决方案项目同步到组织中解决方案的当前状态。

例子

以下示例演示了命令的使用 pac solution sync

基本同步

此示例将解决方案同步到当前目录。

pac solution sync

可选参数 solution sync

--async -a

异步导出解决方案。

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

--environment -env

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

--include -i

应将哪些设置包含在要导出的解决方案中。

使用以下一个或多个用逗号分隔的值:

  • autonumbering
  • calendar
  • customization
  • emailtracking
  • externalapplications
  • general
  • isvconfig
  • marketing
  • outlooksynchronization
  • relationshiproles
  • sales

--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 unpack

将解决方案组件从 solution.zip 提取到本地文件系统(SolutionPackager)。

Example

pac solution unpack --zipfile C:\SampleSolution.zip --folder .\SampleSolutionUnpacked\.

所需的参数 solution unpack

--zipfile -z

解决方案 ZIP 文件的完整路径

可选参数 solution unpack

--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 solution upgrade

应用 solution upgrade

Example

pac solution upgrade --solution-name SampleSolution --async --max-async-wait-time 60

所需的参数 solution upgrade

--solution-name -sn

解决方案的名称。

可选参数 solution upgrade

--async -a

异步升级解决方案

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

--environment -env

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

--max-async-wait-time -wt

最大异步等待时间(以分钟为单位)。 默认值为 60 分钟。

pac solution version

更新解决方案的生成或修订版本。

Example

pac solution version --patchversion 2
pac solution version --strategy gittags

可选参数 solution version

--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”中设置个人访问令牌

使用以下值之一:

  • None
  • GitTags
  • FileTracking
  • Solution

导出之间的差异pac solution clone

在某些情况下,不确定何时使用 pac solution clonepac solution export 命令。 可以在以下方案中使用其中一个命令:

  • 需要向解决方案添加新组件时使用 pac solution clone
  • pac solution export当想要修改解决方案文件中的现有内容,但不向解决方案添加新组件时使用。

pac solution clone

使用 pac solution clone 命令导出解决方案时,导出的解决方案看起来像 Visual Studio 项目。 .csproj 你将看到一个文件,而不是(如 Visual Studio 中所示cdsproj)。 该文件 cdsproj 包含生成项目所需的所有组件信息。 生成输出是一个解决方案 zip 文件,你可以将其导入到不同的环境中。

Pac solution clone.

开发人员无需解压缩克隆的解决方案,因为它以 src (源) 文件夹中的解压缩格式呈现。

Pac solution unpack.

现在,如果要将新创建的插件与此解决方案相关联, solution unpack请使用 ed pac solution add-reference 命令更新 .cdsproj 文件以添加新插件。 然后,可以使用或 dotnet buildmsbuild.

建议先执行生成还原,然后再生成项目。 生成还原(dotnet 生成首先自动执行还原)将还原所需的 .NET 库以生成打包的解决方案。

pac solution export

使用 pac solution export 创建者门户导出解决方案时,使用解决方案时,生成的输出是解决方案 zip 文件。

Pac solution export.

解压缩解决方案 zip 文件时(不建议使用标准工具打开 zip,并使用 CLI 中的相应命令)。 生成的目录结构类似于 中的 结构。 唯一的区别是无法添加对此解压缩解决方案的引用,因为它没有 .cdsproj 项目文件。

Pac 解决方案结构。

可以修改要更新的相关文件集,然后继续 solution pack作,这会再次生成解决方案 zip 文件,以便将解决方案导入目标环境。 作的结果是解决方案 zip 文件,其中包含更新的内容和更新的时间戳。

另请参阅

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