错误消息“没有为此对象定义无参数构造函数”

时间:2018-08-04 10:50:57

标签: c# nopcommerce

var plugins = Activator.CreateInstance(types.First()) as IPluginFinder;

此代码在nopcommerce 4.10中由于错误而停止,这些是,在以前的版本中没有问题(4.00)

完整代码:

var types = typeFinder.FindClassesOfType<IPluginFinder>();

if (types.Count() == 1)
{
    var plugins = Activator.CreateInstance(types.First()) as IPluginFinder;
    var currentPlugin = plugins.GetPluginDescriptorBySystemName("misc.myplugin");
    if (currentPlugin == null || currentPlugin.Installed == false)
        return;
}
  

错误:   没有为此对象定义无参数构造函数

1 个答案:

答案 0 :(得分:3)

在版本4.10中,PluginFinder类获得了一个新的构造函数,该构造函数需要类型为IEventPublisher的参数(请参见github commit)。您将需要为该参数提供一个值。我不知道该产品,但也许您会在发行说明或文档中找到有关此产品的信息。

IEventPublisher evtPub = ...; //
var plugins = Activator.CreateInstance(types.First(), evtPub) as IPluginFinder;