【问题标题】:Autofac exception in nopCommerce project (Autofac.Core.Activators.Reflection.NoConstructorsFoundException: 'No accessible constructors were found )nopCommerce 项目中的 Autofac 异常(Autofac.Core.Activators.Reflection.NoConstructorsFoundException: \'No accessible constructors were found )
【发布时间】:2022-12-21 14:05:49
【问题描述】:

我正在尝试在 nopCommerce 的公共商店中添加一个新页面。为此,我创建了实体、模型、工厂、控制器、接口和服务等。

但是,一旦我运行我的 nopCommerce 项目,它就会显示以下错误。

Autofac.Core.Activators.Reflection.NoConstructorsFoundException: 'No accessible constructors were found for the type 'Nop.Web.Factories.SupportRequestModelFactory'.'

我使用的是 nopCommerce 4.50 版。

导致此错误的原因是什么以及如何解决?

Here is a picture about that error.

我试图在 Controller 和 factory 中找到错误,但找不到确切的解决方案!

【问题讨论】:

  • 您好,欢迎来到 SO。我不太了解 NopCommerce,但看起来 AutoFac 无法创建 SupportRequestModelFactory 的实例。我假设这是您创建的一个类,并且可能正在使用 AutoFac 在某个地方注册它,因此请确保您的注册已正确定义并且存在与此类注册匹配的构造函数。

标签: c# asp.net .net-core autofac nopcommerce


【解决方案1】:

NoConstructorsFoundException 发生在你没有类的公共构造函数时。要解决此问题,请确保您的 SupportRequestModelFactory 类中有一个公共构造函数,并在公共构造函数的参数中传递所有必要的服务。

这是一个例子:

    public partial class SupportRequestModelFactory : ISupportRequestModelFactory
    {
        private readonly ILocalizationService _localizationService;
        private readonly ILocalizedModelFactory _localizedModelFactory;

        public SupportRequestModelFactory(
            ILocalizationService localizationService,
            ILocalizedModelFactory localizedModelFactory)
        {
            _localizationService = localizationService;
            _localizedModelFactory = localizedModelFactory;
        }
    }

另外,确保您已经在 ConfigureServices 中注册了您的模型工厂。

    public class NopStartup : INopStartup
    {
        public virtual void ConfigureServices(IServiceCollection services, IConfiguration configuration)
        {
            services.AddScoped<ISupportRequestModelFactory, SupportRequestModelFactory>();
        }
    }

【讨论】:

    猜你喜欢
    • 2022-12-19
    • 2011-12-06
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 2022-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多