我继承了一个没有经过深思熟虑的代码库,并且遇到了一些循环引用问题。我的团队目前没有时间或资源来进行大规模的重构,所以我想知道是否有一些我可以翻转的开关说“以原子方式构建这两个 dll”。
一个简化的例子:
DLL D0:
class A1 -> References B1
class B1 -> References A1
A1 和 B1 类相互引用,因为它们在同一个 DLL 中,这很好 - 但它们没有太多共同点,所以我想将它们分解成单独的 dll。
但是,由于循环引用问题,以下是不可能的:
DLL D1: class A1 -> References D2.B1
DLL D2: class B1 -> References D1.A1
我希望能够告诉 MSBuild 构建 (D1+D2),就好像所有代码都在一个 dll 中一样。有什么我可以在这里做的,还是我遵循 SOP 并“破解它”?
免责声明:我理解这意味着我的模型存在更大的问题(最明显的是接口使用不当),但在小公司中,现实世界的场景要求我以牺牲最佳实践。