NDepCheck is a tool that helps you to keep the (static) architecture of a .NET software clean. You specify allowed dependencies between namespaces, classes, or even methods, and NDepCheck will check whether the dependencies are violated somewhere.