如何解决MSCRM插件注册失败时的问题

时间:2010-06-10 15:02:44

标签: plugins dynamics-crm dynamics-crm-4

当您在Microsoft CRM中注册插件时,各种各样的事情都可能出错。最常见的是,我得到的错误是“发生错误。”

当您查找更多详细信息时,您会得到:“服务器无法处理请求”,详情下您会看到“发生意外错误。”

不是很有帮助。但是,如果你真的挖掘,那里有一些很好的答案。那里有人遇到过这个,你怎么解决它?

2 个答案:

答案 0 :(得分:1)

最常见的问题是元参数名称必须匹配。

例如:

public static DependencyProperty householdProperty = DependencyProperty.Register("household", typeof(Microsoft.Crm.Sdk.Lookup), typeof(AssignHouseholds));

  [CrmInput("AccountId")]
  [CrmReferenceTarget("account")]
  public Microsoft.Crm.Sdk.Lookup household
  {
   get
   {
    return (Microsoft.Crm.Sdk.Lookup)base.GetValue(accountidProperty);
   }
   set
   {
    base.SetValue(accountidProperty, value);
   }
  }

注意DependencyProperty(housedProperty)之后的名称必须与DependencyProperty.Register之后的字符串完全匹配(在这种情况下(“household”)并附加单词“Property”。

此外,该值必须与public variabletype的值匹配(在本例中为“household”)。如果其中任何一个不匹配,则会出错。

这是设计上的,也就是MSCRM如何将这些价值联系在一起。

答案 1 :(得分:1)

一个常见原因是,如果您使用的是64位计算机,则您的CRM SDK引用必须使用64位版本。

这些将位于 C:\ SDK \ BIN \ 64 \ microsoft.crm.sdk.dll 和 C:\ SDK \ BIN \ 64 \ microsoft.crm.sdktypeproxy.dll 如果您将sdk安装到C:\ sdk。

此外,您的构建设置应设置为Project properties-> Build。

下的“Any CPU”

在构建之前,您可能还需要将两个dll移动到调试或发布文件夹。