Dynamics crm 使用控制台应用程序重新打开已关闭或取消活动

Dynamics crm 使用控制台应用程序重新打开已关闭或取消活动,dynamics-crm,dynamics-crm-2015,Dynamics Crm,Dynamics Crm 2015,我在尝试重新打开约会时遇到此错误:“无法更新已关闭或已取消的活动” 这是我的密码: var connectionString = ConfigurationManager.ConnectionStrings["crmConnection"].ConnectionString; var conn = CrmConnection.Parse(connectionString); var service = new OrganizationService(conn); var stateRequest

我在尝试重新打开约会时遇到此错误:“无法更新已关闭或已取消的活动” 这是我的密码:

var connectionString = ConfigurationManager.ConnectionStrings["crmConnection"].ConnectionString;
var conn = CrmConnection.Parse(connectionString);
var service = new OrganizationService(conn);
var stateRequest = new SetStateRequest
{
  State = new OptionSetValue(0),
  Status = new OptionSetValue(1),
  EntityMoniker = entity.ToEntityReference()
};
service.Execute(stateRequest);
我从
RetrieveMultiple(query)
获取实体,其中
StateCode
为“取消”或“完成”。我在控制台应用程序中运行此代码,并得到该错误

附言: 我在新版本中编写了代码,但再次出现此错误:

entity.SetAttributeValue<OptionSetValue>("statecode", 0);
entity.SetAttributeValue<OptionSetValue>("statuscode", 1);
var request = new UpdateRequest { Target = entity };
var response = (UpdateResponse)_organizationService.Execute(request);
entity.SetAttributeValue(“statecode”,0);
entity.SetAttributeValue(“状态代码”,1);
var request=newupdaterequest{Target=entity};
var response=(UpdateResponse)\u organizationService.Execute(请求);

请提供总代码。我在这里看到,您声明了一个新的OrganizationService,正如您以前使用的一样(用于retrieveMultiple)

可能使用相同的服务,只需修复您的问题:),但使用总代码,我们可能可以提供更多帮助


除了不赞成的讨论之外。您使用CRM 2015,因为它似乎被标记了?据我所知,D365中只进行了去润滑(希望我没有弄错;)

最后,经过8个小时的工作,我得到了它!。这太可笑了,但值得知道。这个错误是由我以前注册的另一个插件引起的。当“StateCode”字段更改时,该插件在“Update”消息上注册。我禁用了那个步骤,我的弃用功能就起作用了!
在异常消息中,您无法理解是哪个插件引发了错误。

根据
SetStateRequest
已被弃用。我认为这与折旧无关,因为我在新版本中编写了代码,也遇到了相同的错误