C# 检测到循环组件依赖关系:
我正在使用Autofac进行DI,并检测到循环组件依赖项错误 我的实现看起来像C# 检测到循环组件依赖关系:,c#,dependency-injection,autofac,C#,Dependency Injection,Autofac,我正在使用Autofac进行DI,并检测到循环组件依赖项错误 我的实现看起来像 public interface IProduct { } public class Product : IProduct { } public interface ISupplier { } public class Supplier : ISupplier { } public interface IProductSupplier { } public class ProductSupplier : I
public interface IProduct { }
public class Product : IProduct { }
public interface ISupplier { }
public class Supplier : ISupplier { }
public interface IProductSupplier { }
public class ProductSupplier : IProductSupplier
{
private ProductSupplier(ISupplier supplier, IProduct product) { }
}
public interface IGoodsReceive { }
public class GoodsReceive : IGoodsReceive
{
private GoodsReceive(IProductSupplier productSupplier) { }
}
在解析ProductSupplier时,检测到循环组件依赖关系:GoodsReceive->ProductSupplier->ProductSupplier错误指示ProductSupplier需要ProductSupplier。在您的示例中,您有私有构造函数,这个示例似乎没有反映实际的代码。你能用你所有的构造函数更新你的代码吗?正如@CyrilDurand所写的,在你展示的代码中没有循环依赖关系,尤其是你在文章中提到的那个question@Cyril,我进行了更多的调试,发现IProductSupplier派生了ISupplier,IProduct。一旦我移除了这些,它就可以正常工作了。