Dynamics crm 2011 CRM 2011插件,无代码返回“;字典中不存在给定的密钥;

Dynamics crm 2011 CRM 2011插件,无代码返回“;字典中不存在给定的密钥;,dynamics-crm-2011,dynamics-crm-online,Dynamics Crm 2011,Dynamics Crm Online,我编写了一个插件来更新salesorder上的一些数据,就在用户更新了记录本身之后。根据是否更改了某些日期,我想用格式化日期更新另一个字段 我遇到了错误“给定的键在字典中不存在”,因此我添加了一些跟踪,以查看它确切返回错误的位置。然后我发现跟踪从未写出,所以我假设我写的代码从未执行过。事实确实如此,因为如果我这样做 公共类SalesOrderPlugin:IPlugin { public void Execute(IServiceProvider服务提供程序) { } } 我得到了同样的错误:

我编写了一个插件来更新salesorder上的一些数据,就在用户更新了记录本身之后。根据是否更改了某些日期,我想用格式化日期更新另一个字段

我遇到了错误“给定的键在字典中不存在”,因此我添加了一些跟踪,以查看它确切返回错误的位置。然后我发现跟踪从未写出,所以我假设我写的代码从未执行过。事实确实如此,因为如果我这样做

公共类SalesOrderPlugin:IPlugin
{
public void Execute(IServiceProvider服务提供程序)
{
}
}
我得到了同样的错误:

未处理的异常:System.ServiceModel.FaultException`1
[[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,版本=5.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35]:
插件(执行)出现意外异常:Iu.PreConsultants.Crm.SalesOrderPlugin:
System.Collections.Generic.KeyNotFoundException:字典中不存在给定的键。详细信息:
-2147220956
插件(执行)出现意外异常:Iu.PreConsultants.Crm.SalesOrderPlugin:System.Collections.Generic.KeyNotFoundException:字典中不存在给定的密钥。
2012-02-21T07:09:48.471378Z
[Iu.PreConsultants.Crm:Iu.PreConsultants.Crm.SalesOrderPlugin]
[1486b5df-595c-e111-b7b0-46c950e6c8cd:Iu.PreConsultants.Crm.SalesOrderPlugin:salesorder更新]
插件的设置:

  • 验证后
  • 同步执行模式
  • 服务器部署
在托管设置上(沙盒)

SalesOrder已更改,并具有一些自定义属性

在此方面的任何帮助都将不胜感激

亲切问候,


文森特

好了,现在可以了。看起来glosrob是对的,CRM保存了一个缓存版本。我试图在SDK中的registrationtool上的IPlugin实现上使用“Update”,但这还不够。我必须首先更新程序集,然后,IPlugin实现也得到了更新。

好了,现在可以了。看起来glosrob是对的,CRM保存了一个缓存版本。我试图在SDK中的registrationtool上的IPlugin实现上使用“Update”,但这还不够。我必须首先更新程序集,之后,IPlugin实现也得到了更新。

你能修改插件的主体,通过测试抛出异常吗?只需添加:抛出新的ApplicationException(“你好,异常!”);。引发异常将显示该特定错误消息。根据您的描述和给出的错误消息,我怀疑CRM正在执行您的插件库的旧版本。事实上,我尝试了这个,但它仍然返回相同的异常。我还在开始时添加了一些跟踪信息,然后抛出了一个异常,但这也不起作用。。。我认为它甚至在插件执行之前就抛出了异常,这可能吗?@VincentvanEderen:我认为不可能。glosrob可能是对的。CRM可能正在执行引发异常的旧版本。你应该尝试重新编译并重新部署你的空插件。你能修改插件的主体,通过测试抛出异常吗?只需添加:抛出新的ApplicationException(“你好,异常!”);。引发异常将显示该特定错误消息。根据您的描述和给出的错误消息,我怀疑CRM正在执行您的插件库的旧版本。事实上,我尝试了这个,但它仍然返回相同的异常。我还在开始时添加了一些跟踪信息,然后抛出了一个异常,但这也不起作用。。。我认为它甚至在插件执行之前就抛出了异常,这可能吗?@VincentvanEderen:我认为不可能。glosrob可能是对的。CRM可能正在执行引发异常的旧版本。你应该尝试重新编译并重新部署你的空插件。是的,这反映了我的经验-你必须先显式地更新程序集,然后更新所需的步骤。很高兴它被分类了!是的,这反映了我的经验-您必须先显式更新程序集,然后更新所需的步骤。很高兴它被分类了!