asp.net nopCommerce项目中出现自动面异常(自动面.核心.激活器.反射.NoConstructorsFoundException:'未找到可访问的构造函数)

wecizke3  于 2022-12-24  发布在  .NET
关注(0)|答案(1)|浏览(121)

我正在尝试在nopCommerce的公共存储中添加一个新页面。为此,我创建了实体、模型、工厂、控制器、接口和服务等。
但是当我运行我的nopCommerce项目时,它会显示以下错误。

    • 一月一日**

我使用的nopCommerce版本4.50版本.
此错误的原因是什么?如何解决?
Here is a picture about that error.
我试图找到控制器和工厂中的错误,但无法找到确切的解决方案!

nx7onnlm

nx7onnlm1#

当类没有公共构造函数时,会发生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>();
        }
    }

相关问题