我一直在研究一个项目,随着它的发展,我意识到两个不能连接在一起的部分是相互依赖的。
我们将这两个部分称为a.exe和b.dll。 b.dll提供了一个允许a.exe检索数据的实现,但我希望它是自己的独立程序集,以便可以轻松更改它以使a.exe与不同的数据源进行通信。
但是,虽然需要a.exe来引用b.dll,但b.dll需要多个函数,这些函数是a.exe不可分割的一部分。
由于我一直在编译 - 测试 - 因为我一直在编写这个项目,a.exe和b.dll都存在,我可以针对a.exe和a.exe编译b.dll b.dll,但我怎么能/可以从源代码重建这两个?
答案 0 :(得分:5)
我会将您的系统重构为三个程序集:
答案 1 :(得分:4)
通常,重构这个并将共享依赖项移动到它们自己的程序集(c.dll)中是一个好主意。这样,a.exe和b.dll都可以引用c.dll,并且你可以避免这种循环依赖。
答案 2 :(得分:2)
调用csc.exe,将a.exe和b.dll的源代码编译成a.exe,调用csc.exe,将b.dll的源代码编译成b.dll并引用a.exe,然后调用csc .exe最后一次,将a.exe的源代码编译成a.exe并引用b.dll。