Dynamics CRM / Dynamics 365以编程方式应用解决方案升级

时间:2016-12-28 15:00:51

标签: c# microsoft-dynamics dynamics-crm-online dynamics-crm-2016

在将解决方案从一个实例移动到另一个实例时,应该应用一组规则,因此可以使用自定义工具进行所有更改,将解决方案导出和导入到另一个实例。问题是下一个:

如何使用C#实现“解决方案升级应用”?

可以通过设置(CRM 2016 SDK)

轻松导入“as holding”
 var import = new ImportSolutionRequest();
 import.HoldingSolution = true;

这允许在目标环境中拥有保留解决方案,但在一些测试之后,我们仍然无法对先前安装的解决方案“应用”此升级。

提前谢谢你。

1 个答案:

答案 0 :(得分:3)

导入保留解决方案后,您可以使用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