我正在使用 Unity 和 Prism 进行此配置:
public class EmployeeDataService : IEmployeeDataService
{
}
public class EmployeeController(IEmployeeDataService dataService)
{
this.dataService = dataService;
}
public class EmployeeModuleInit : IModule
{
readonly IUnityContainer container;
readonly IRegionManager regionManager;
readonly EmployeeController employeeController;
public EmployeeModuleInit(IUnityContainer container, IRegionManager regionManager, EmployeeController employeeController)
{
this.container = container;
this.regionManager = regionManager;
this.employeeController = employeeController;
}
}
类型映射使用:
Container.RegisterTypes(AllClasses.FromLoadedAssemblies(),
WithMappings.FromMatchingInterface,
WithName.TypeName,
WithLifetime.Transient );
然而,在启动时我收到了这个错误:
{"当前类型 IEmployeeDataService 是一个接口,无法构造。您是否缺少类型映射?"}
IUnityContainer 和 IRegionManager 已正确注册和解析,但是它们是在 Prism.UnityExtensions.UnityBootstrapper.cs 中手动注册的,我不想手动注册项目中的所有类型。
任何想法如何解决这个问题?
谢谢你,丹尼尔