最新的Autofac版本不支持.Net Framework 4.6.2。

问题描述 投票:0回答:1

我的项目是一个跨平台的项目,其中包含3个Project 2 .Net-standard 2.0和一个启动项目,使用.Net-framework 4.6.2。其中包含3个项目2.Net-standard 2.0和一个启动项目,使用.Net-framework 4.6.2。

最新的Autofac版本(5.2.0)不支持.NetFramework 4.6.2。

我遇到了以下错误

autofac.core.registration.componentnotregisteredexception' in autofac.dll" builder.Build() 无法实例化类对象。

错误信息:"Builder.Build()无法实例化类对象。

在Autofac.dll中发生了一个类型为'Autofac.Core.Registration.ComponentNotRegisteredException'的异常,但没有在用户代码中进行处理 附加信息。请求的服务'ShipPageObjects.PageObjects.Login.LoginResolvePage'没有被注册。 为了避免这个异常,可以注册一个组件来提供服务,使用IsRegistered()检查服务注册情况,或者使用ResolveOptional()方法来解析一个可选的依赖关系。

var builder = new ContainerBuilder();
builder.RegisterModule(new ContainerConfig());
builder.RegisterInstance(testConfig).As<ITestConfig>();
builder.RegisterModule(new ShipmentmentTest(testConfig));
builder.RegisterModule(new MaterialTest(testConfig));

Container = builder.Build();
c# .net autofac .net-framework-version
1个回答
2
投票

这不是Autofac 5.2.0和.NET框架4.6.2的错误。 在异常情况下,它告诉你的是 ShipPageObjects.PageObjects.Login.LoginResolvePage 没有被注册。 这很可能是你把它注入到你已经注册的东西中,而你还没有注册LoginResolvePage。

Autofac很善于告诉你在这些情况下什么是失败的。你可以逐一查看异常情况,然后添加,因为它告诉你需要添加什么,或者跟踪你的注入,确保所有的东西都被注册了。我建议做后者,并使用前者来完成它。

© www.soinside.com 2019 - 2024. All rights reserved.