Has anyone come up with a solution to curcular dependency issues?
For those who might not know this is what I am talking about:
Class A compiles to assembly A
Next, you build Class B that uses code in Class A (Assembly A).
Class A gets revised and uses some code in Class B (Assembly B).
Assembly A builds and Assembly B builds because the .dlls exist. Delete
BOTH dll's. Neither class will compile because they depend on each other.
This is a very interesting issue now that we have a world of C#, VB.net, J#,
Javascript ...etc building assemblies. With large complex API's (as the one
I am working on) we have teams of people working on seperate sections of the
api, each section can have its own projects built in any of the supported
..net languages. So, combining the code into a single project is no longer
feasible as the compiler will not support cross language coding in a single
project.
I read somwhere that microsoft solves this problem with creating class stubs
that are basically empty shells of classes that can be compiled without
circular dependencies. Is there any other way to do this? Some sort of
late binding? or Turning off compiler errors associated with assembly
dependencies?
Thanks,
David Sandor