Hi Wolfgang,
wolfganguhr wroteThe error does not appear if you compile your working tree.
This depends how you compiled your working tree. If you ran nant compile, you would get the same error message. If you compile from the existing project files in SharpDevelop, then it could compile, if one the affected assembly of the circular dependency is already compiled.
If you have a circular dependency, then nant / project files are not able to do anything anymore: They do not know, what to compile first and what later, because they are not able to fulfill the dependencies anymore!
wolfganguhr wroteSo I suggest to find a possibility
a) to check thoose circular reference problems a litte bit more easier.
The error message from nant is very detailed: It shows the complete circular of dependency of the assemblies. By this you have all informations, you could get for breaking the dependency again. Okay, it do not show the source files involved. I normally found the affected files by text search quickly or by looking into the delivery\nsMap*.namespace. They map the namespace to the corresponding assembly.
Instead of investing time into a tool, showing you the affected source files, I would invest the money in clarifying our architecture, so that is is clear, what depends on what and preventing circular dependencies at all.
wolfganguhr wroteb) to implement a generateSolutionNoCompileNoCircularDependencyChecks
As I already tried to explain above: I know of no way to implement such a target. The circular dependency is checked by nant because of the dependencies between the assemblies (directories) and nant does not know, in which order he could execute the different targets. Same would be true for project files, with all the dependencies defined.
ThiasG