【问题标题】:Dynamics CRM/Dynamics 365 Apply solution upgrade programmaticallyDynamics CRM/Dynamics 365 以编程方式应用解决方案升级
【发布时间】:2016-12-28 15:00:50
【问题描述】:
在将解决方案从一个实例移动到另一个实例时应该应用一组规则,因此有一个想法是使用自定义工具来进行所有更改,将解决方案导出和导入到另一个实例。接下来是问题:
如何用 C# 实现“解决方案升级申请”?
可以通过设置(CRM 2016 SDK)轻松导入“作为持有”
var import = new ImportSolutionRequest();
import.HoldingSolution = true;
这允许在目标环境中拥有一个保持解决方案,但经过一些测试后,我们仍然无法为之前安装的解决方案“应用”此升级。
提前谢谢你。
【问题讨论】:
标签:
c#
microsoft-dynamics
dynamics-crm-online
dynamics-crm-2016
【解决方案1】:
在您导入控股解决方案后,您可以使用DeleteAndPromoteRequest 对其进行升级。
一个基本的例子:
public Guid UpgradeSolution(string solutionUniqueName, IOrganizationService service)
{
var request = new DeleteAndPromoteRequest
{
UniqueName = solutionUniqueName
};
var response = (DeleteAndPromoteResponse)service.Execute(request);
return response.SolutionId;
}
在DeleteAndPromoteResponse 中,SolutionId 属性包含提升解决方案的Guid。