【发布时间】:2015-01-24 05:21:43
【问题描述】:
我为 Microsoft Dynamics CRM 2011 编写了一个插件。它与由不同承包商针对不同版本的 .NET 编写的大量其他插件一起运行。
我的插件面向 .NET 4.5。我最近在 CRM Web 服务器上安装了 .NET 4.5。如果用户导致我的插件触发(Create/Update of account),插件运行良好,没有任何问题。
但是,当更新来自不同的插件时,会抛出以下错误:
Method not found: 'System.Delegate System.Reflection.MethodInfo.CreateDelegate(System.Type)'
我们从承包商那里收到的报告错误的有限堆栈跟踪表明它发生在我的插件中。我正在使用 Ninject,我认为这可能是罪魁祸首。我猜想我的插件是在不存在此方法的 .NET 4.0 环境中运行的。
我对 CRM 运行插件的方式不是很熟悉。在 Web 服务器之外,我是否需要在任何其他机器上安装 .NET 4.5?这可能与间接调用我的 .NET 4.5 插件的 .NET 4.0 插件有关吗?
【问题讨论】:
-
可以(取决于您使用的 Ninject 版本,我假设为 .NET 4.5)目标全部为 4.0(您的插件和 Ninject 版本)