Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测到循环组件依赖关系:_C#_Dependency Injection_Autofac - Fatal编程技术网

C# 检测到循环组件依赖关系:

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

我正在使用Autofac进行DI,并检测到循环组件依赖项错误

我的实现看起来像

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。一旦我移除了这些,它就可以正常工作了。