【问题标题】:Dependency Injection .NET 6 when validate it's failing [closed]验证失败时的依赖注入.NET 6 [关闭]
【发布时间】:2022-06-15 15:04:42
【问题描述】:

当我尝试在同一个项目中添加依赖于 Scoped 的类时,已经在同一个项目中添加了另一个类,它无法在启动时加载应用程序。

public class C1: I1 {
    public C1(I2 c) {

    }
}
services.TryAddScoped<I1, C1>();
services.TryAddScoped<I2, C2>();

C1C2 在同一个项目中时,加载失败,当C1C2 在不同的项目中时,它正在启动应用程序。其中 C1 有 C2 作为依赖项

是故意设计的还是我做错了什么或者......?

更新

我有带部门的 PaymentComponent 类

PaymentComponent

DI 依赖列表的类

PaymentComponentDependcies

PaymentComponent 项目

PaymentComponent project

当项目“PaymentHelper”中的类在“PaymentComponent”项目 DI 中不起作用时,错误是由于这些类之一无法解析 PaymentComponent。当我从 PaymentComponent 类中分离出来并移动创建“PaymentHelper”时,如图所示。我刚刚在新项目中移动了课程。

【问题讨论】:

  • 所有 ASP.NET Core 项目都使用依赖于同一项目中其他类的类,因此您声称的内容显然是错误的。控制器可能依赖于依赖 ILogger 的服务。发布演示问题和实际完整错误的实际代码
  • 错误是因为I2无法解析C1。当我在不同的项目中移动 I2 时,它不会产生错误

标签: .net asp.net-core


猜你喜欢
  • 2017-09-16
  • 1970-01-01
  • 2012-08-13
  • 2017-09-24
  • 1970-01-01
  • 2012-04-29
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多