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

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

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

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

通过设置(CRM 2016 SDK)可以轻松导入“作为持有”

 var import = new ImportSolutionRequest();
 import.HoldingSolution = true;

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

提前谢谢您。

最佳答案

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

关于c# - Dynamics CRM/Dynamics 365 以编程方式应用解决方案升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364576/

相关文章:

javascript - 使用 Xrm.Navigation.openWebResource() 后如何从 Web 资源中取回表单数据

c# - 在 C# 中从 gsm 调制解调器调用电话

c# - 使用 IConfigurationRoot 将应用程序的连接字符串向下传递到 ASP.NET 5 中的存储库类库

c# - WinForms 上的 DrawImage() 函数无法正常工作

selenium - 使用 selenium 自动化 MSD365 的问题

JavaScript 引用错误 : Value is not defined

c# - 创建实体时发现重复记录错误

c# - 命名空间的 XML 文档

c# - 动态CRM SDK : Execute Multiple Requests for Bulk Update of around 5000 Records

dynamics-crm-2011 - 如何在 CRM 2011 中隐藏预过滤器窗口?