我有两个果园模块。
两者都有实现IAppSettings
,它在外部 dll 中定义,并通过 nuget 包在模块中引用(所以我不能使用IDependency
)。
我在每个模块中使用 Autofac 模块类将它们连接起来。
不幸的是,这会导致“最后一次注册获胜”,并且两个模块都将使用最后一次注册的实现,即使“预期”的结果是每个模块都使用自己的。
需要明确的是,每个模块都是由一个单独的团队开发的,他们不相互协调,但使用相同的模块创建指南。上面的例子只是这种情况的一个例子,但可以公平地假设还会有更多。
我如何才能确保每个团队都可以为他们的模块注册自己的依赖项,而不必经常与其他模块的作者核对?