C# 以编程方式删除MS CRM 2011插件步骤

C# 以编程方式删除MS CRM 2011插件步骤,c#,dynamics-crm-2011,dynamics-crm,crm,C#,Dynamics Crm 2011,Dynamics Crm,Crm,我尝试通过以下方式删除插件步骤: public void RemoveStep(Guid stepId, IOrganizationService service){ service.Execute(new SetStateRequest { EntityMoniker = new EntityReference("sdkmessageprocessingstep", stepId), State = new OptionSetValue(pluginState

我尝试通过以下方式删除插件步骤:

public void RemoveStep(Guid stepId, IOrganizationService service){        
service.Execute(new SetStateRequest 
{
    EntityMoniker = new EntityReference("sdkmessageprocessingstep", stepId),
    State = new OptionSetValue(pluginStateCode),
    Status = new OptionSetValue(pluginStatusCode)
});}
但此代码抛出错误异常,并显示消息:插件阶段无效。 怎么了? 我该怎么做呢?

这可能会帮助您:

您需要传递有效的状态和状态代码映射,这些是引用sdk的SdkMessageProcessingStep允许的值

状态代码:0-已启用。 1-残疾

状态代码:1-已启用。 2-残疾

您应该根据以下内容绘制地图:

状态代码0和状态代码1

状态代码1和状态代码2


使用正确的值,设置状态应该不会有问题。

问题是因为我试图更改系统插件步骤的状态,所以这是不可能的。

作为pluginStateCode和pluginStatusCode传递的是什么?使用State=1和Status=2硬编码进行尝试。您好!很抱歉没有提及这一点,在pluginStateCode中我通过了1,在pluginStatusCode中我通过了2。顺便说一句,异常发生了。还有一句话:我试着从我的代码,而不是从插件。无效的插件阶段意味着插件注册配置不正确。奇怪的是,通常在注册插件步骤时会出现异常,而不是在注销插件步骤时。您能否用以下信息更新您的问题:执行步骤的实体;管道阶段;触发步骤的事件。Nate,我无法回答您的问题,我检索系统中所有步骤的ID。我的目标是从系统中删除所有步骤,所以我尝试执行以下操作:检索所有步骤的ID,然后我想禁用步骤,然后我将行删除主题。我是从WinForms应用程序而不是从plug inDoes中执行的,它在遇到的第一个插件时失败,无论该插件是什么,还是在特定的插件步骤中失败?