As a start, try Dependency Visualizer. I've also used GraphViz's Dot and some custom code for simple dependency generation. The custom code invoked SysInternal's depends.exe recursively and parsed the output. .NET Reflector with the Graph plugin looks pretty promising, too, though I haven't tried that (yet).
What I've always run into was the fact that my graph, unless generated automatically, has to be recreated every time I add to the project and sometimes when I simply change something. So, for me, a manual solution that I became married to for the updates was no solution at all.
I just found the Dependency Structure Matrix Plug-in for .NET Reflector.