Possible Duplicate:
How did Microsoft create assemblies that have circular references?
I was in the process of putting together a little PowerShell cmdlet that would give me a dependency tree for .NET assemblies, when I discovered something odd:
The .NET 2.0 CLR seems to have a circular dependency: System
depends on System.Configuration
and System.Configuration
depends on System
. This makes it quite difficult to give a complete dependency tree.
Am I off base here? Is there some trickery going on that I don't know about? Why would there be (and, of course, HOW could there have been introduced) this apparent violation of simple and nearly universally-accepted dependency best practices?