Dynamics crm 2011 CRM插件泛型基类不能将CrmEntity作为参数

Dynamics crm 2011 CRM插件泛型基类不能将CrmEntity作为参数,dynamics-crm-2011,Dynamics Crm 2011,我正在为CRM 2011开发一个插件 我的所有插件都有一个通用基类: public abstract class Plugin_Base<T> : IPlugin where T : Entity, new() { void IPlugin.Execute(IServiceProvider serviceProvider) { } } 公共抽象类插件库:IPlugin 其中T:Entity,new() { void IPlugin.Execute(I

我正在为CRM 2011开发一个插件

我的所有插件都有一个通用基类:

public abstract class Plugin_Base<T> : IPlugin
    where T : Entity, new()
{
    void IPlugin.Execute(IServiceProvider serviceProvider)
    {
    }
}
公共抽象类插件库:IPlugin
其中T:Entity,new()
{
void IPlugin.Execute(IServiceProvider服务提供程序)
{
}
}
但是,当我将早期绑定实体作为参数传递时,我的插件步骤注册失败: 未处理的异常:System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,版本=5.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35]: 无法加载插件类型:My.Namespace.AccountPlugin

如果我只是简单地将泛型参数更改为任何其他类类型(并删除其作为实体的约束),步骤注册就会成功


为什么会发生这种情况,有办法解决吗?

这里的项目设置是什么?简单的类库项目。我想我应该补充一点,我为生成的早期绑定类提供了第二个类库,插件项目使用MSBuild.ILMerge.Task nuget包将所有内容捆绑到一个dll中。在生成早期绑定的类时,我还使用自定义命名和/codecustomization开关。我将microsoft.xrm.client和microsoft.xrm.sdk.deployment与我的插件dll.Hmm捆绑在一起,而没有处理确切的情况<代码>无法加载插件类型通常意味着您试图使用程序集或CRM中缺少的内容。我可以建议;1.不包括
xrm
组件,非常确定它们不是必需的。2.尝试用
Plugin\u Base
AccountPlugin
的源代码制作一个简单的项目,尝试缩小问题的范围。也就是说,如果这样做有效,那么ILMerge中可能会出现问题。这里的项目设置是什么?简单的类库项目。我想我应该补充一点,我为生成的早期绑定类提供了第二个类库,插件项目使用MSBuild.ILMerge.Task nuget包将所有内容捆绑到一个dll中。在生成早期绑定的类时,我还使用自定义命名和/codecustomization开关。我将microsoft.xrm.client和microsoft.xrm.sdk.deployment与我的插件dll.Hmm捆绑在一起,而没有处理确切的情况<代码>无法加载插件类型通常意味着您试图使用程序集或CRM中缺少的内容。我可以建议;1.不包括
xrm
组件,非常确定它们不是必需的。2.尝试用
Plugin\u Base
AccountPlugin
的源代码制作一个简单的项目,尝试缩小问题的范围。也就是说,如果这样做有效,您的ILMerge中可能会出现问题。