我收到错误“值不能为空。\ r \ nParameter name:serviceType”

时间:2014-04-23 11:19:07

标签: nopcommerce

我正在学习教程,但在设置项目构建路径后,我运行项目并导航到插件。然后我收到以下错误。 类型' System.ArgumentNullException'的例外情况发生在Autofac.dll中,但未在用户代码中处理,

  

"值不能为空。\ r \ n \ nParameter name:serviceType"

并且我不知道我应该添加哪种方法以及在哪个类中?

请帮忙!

1 个答案:

答案 0 :(得分:2)

您必须在DependencyRegistrar.cs文件中注册您在插件中创建的服务以及实体的存储库,以便运行时Autofac可以找到它们,例如:

public class DependencyRegistrar : IDependencyRegistrar
{
    public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder)
    {
        //data context
        this.RegisterPluginDataContext<MYPLUGINObjectContext>(builder, "nop_object_context_misc_MYPLUGIN");

        //override required repository with our custom context
        builder.RegisterType<EfRepository<ENTITY>>()
            .As<IRepository<ENTITY>>()
            .WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_misc_MYPLUGIN"))
            .InstancePerHttpRequest();
    }

    public int Order
    {
        get { return 0; }
    }
}