Dll 对引用的循环依赖

Dll 对引用的循环依赖,dll,reference,dependencies,Dll,Reference,Dependencies,现在我有了一个动态抽象工厂,它是类工厂的一个单例实现,在这里我存储了所有工厂。每个工厂都有自己的类型,可以创建实例 这些工厂还获得了RegisterType方法,我创建该方法是为了从该项目(DLL)外部注册类型 我想从项目外部注册一个类型。但为了做到这一点,ProjectA和projectB必须了解彼此的信息 所以我的问题是,projectA和projectB如何相互了解,而不会出现“循环依赖于引用”的错误。我认为直接解决了您的问题 重新阅读你的问题,我张贴的链接是不相关的,因为你正在处理2个项

现在我有了一个动态抽象工厂,它是类工厂的一个单例实现,在这里我存储了所有工厂。每个工厂都有自己的类型,可以创建实例

这些工厂还获得了RegisterType方法,我创建该方法是为了从该项目(DLL)外部注册类型

我想从项目外部注册一个类型。但为了做到这一点,ProjectA和projectB必须了解彼此的信息

所以我的问题是,projectA和projectB如何相互了解,而不会出现“循环依赖于引用”的错误。

我认为直接解决了您的问题

重新阅读你的问题,我张贴的链接是不相关的,因为你正在处理2个项目

对于大多数项目(web、桌面,甚至大多数API),您通常有一个项目作为您的入口点,您的其他项目应该包含依赖代码或基础结构代码,不应该有两个(或更多)项目的双向耦合

使用IoC框架并注册依赖关系可能是合适的,您可以在ProjectA中这样做,并从ProjectB向工厂提供类型

确保在将这些工厂(和其他类型)传递到ProjectB(实现位于ProjectA)时使用接口进行抽象,然后这些接口可以位于ProjectB中,不需要任何向后依赖关系