【发布时间】:2019-11-18 10:04:44
【问题描述】:
我有一个以 WCF 作为其入口点的旧应用程序,它依赖注入在 .net 框架 4.5.1 项目中创建的接口。我正在尝试用 asp.net 核心替换 wcf 层,当我尝试使用 asp.net 核心的默认 DI 进行依赖注入时,我得到了
异常是:InvalidOperationException - 当前类型,xxxx 是一个接口,不能构造。您是否缺少类型映射?
我尝试使用带有目标框架 4.6.1 的 Asp.net core 2.2 以及目标框架设置为 .net core 2.1 的 asp.net core 2.1
我在 asp.net core 中的 DI 设置如下所示
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddSingleton<ITradeBusinessService, TradeBusinessService>();
services.AddSingleton<IUnityContainer, UnityContainer>();
services.AddSingleton<ICommonDataRepository, CommonDataRepository>();
}
此服务 TradeBusinessService 在构造函数中接受 IUnityContainer。
public TradeBusinessService(IUnityContainer objectContainer)
{
container = objectContainer;
commonRepository = container.Resolve<ICommonDataRepository>();
当我尝试解决 ICommonDataRepository 时,我得到了上面的错误。
ICommonDataRepository 位于针对 4.5.1 的项目中
任何想法我在这里做错了什么?
【问题讨论】:
标签: asp.net-core dependency-injection asp.net-core-webapi asp.net-core-2.1