You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 4.0升级至4.8后Autofac无法解析IQMService依赖报错

无法解析已注册的IQMService类型,报错“找不到可访问构造器”

报错信息如下:

Error:No accessible constructors were found for the type '__ASP.FastObjectFactory_app_web_gmbeg5il'.

调用Resolve的代码

public IQMService qMService;
public QMModule QMModule;
public PageBase() {
    qMService = AutofacDependency.Resolve<IQMService>();
    QMModule = new QMModule(qMService);
}

模型定义

public interface IQMService{
    somefunction();
}
public class QMService : IQMService{
    public QMService()
    {
        someprocess();
    }
}

升级前可正常运行的Autofac配置代码

static AutofacDependency()
{
    Assembly[] assemblys = AppDomain.CurrentDomain.GetAssemblies();
    var builder = new ContainerBuilder();
    builder.RegisterAssemblyTypes(assemblys);
    builder.RegisterModule(new ConfigurationSettingsReader("autofac"));
    container = builder.Build();
}

升级后的Autofac配置修改(仍报错)

将.NET从4.0升级到4.8、Autofac从3.5.2更新到6.4.0后,ConfigurationSettingsReader已不存在,因此更新配置文件并修改代码如下,但问题未解决:

static AutofacDependency()
{
    Assembly[] assemblys = AppDomain.CurrentDomain.GetAssemblies();
    var builder = new ContainerBuilder();
    builder.RegisterAssemblyTypes(assemblys);
    //builder.RegisterModule (new ConfigurationSettingsReader ("autofac"));
    ConfigurationBuilder cfgbuilder = new ConfigurationBuilder();
    cfgbuilder.AddXmlFile("autofac.config");
    var module = new ConfigurationModule(cfgbuilder.Build());
    builder.RegisterModule(module);
    container = builder.Build();
}

额外尝试的注册方式(仍报错)

static AutofacDependency()
{
    Assembly[] assemblys = AppDomain.CurrentDomain.GetAssemblies();
    var builder = new ContainerBuilder();
    builder.RegisterAssemblyTypes(assemblys);
    builder.RegisterType<Strix.QM.Service.QMService>().As<Strix.QM.Service.IQMService>().InstancePerLifetimeScope();
    container = builder.Build();
}

尽管已为QMService定义无参构造器,且尝试了手动注册接口与实现,仍始终出现“找不到可访问构造器”的报错,恳请提供帮助,若缺少必要信息可补充。

内容的提问来源于stack exchange,提问作者Auzout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:30:54