我为之前的CRM版本编写了几个插件,其中大部分使用早期绑定实体。
现在我正在为2015版本编写一个只有一个自定义实体的插件;插件包含生成的实体定义(早期绑定的实体类)。
当我尝试使用插件管道中的组织服务检索实体时,我得到以下异常:
Element 'http://schemas.microsoft.com/xrm/2011/Contracts:Entity' contains data from a type that maps to the name 'http://schemas.microsoft.com/xrm/2011/Contracts:new_TestEntity'. The deserializer has no knowledge of any type that maps to this name. Consider changing the implementation of the ResolveName method on your DataContractResolver to return a non-null value for name 'new_TestEntity' and namespace 'http://schemas.microsoft.com/xrm/2011/Contracts'.
插件具有ProxyTypesAssembly属性。
我试图拦截RetrieveMultiple和Retrieve消息。一切正常。一旦我尝试在插件执行上下文中执行Retrieve(使用管道的组织服务),它就会出错。
答案 0 :(得分:0)
看起来您已经更改了实体模型而没有重新生成早期绑定类。尝试重新生成早期绑定的实体。
看起来与CRM 2015 SDK : The deserializer has no knowledge of any type that maps to this name
中描述的问题相同