I don't intend this to be subjective, but if the answers can be seasoned a little with advice or direction I would appreciate it :)
Over the past couple years my job has been to develop and now maintain/extend a fairly large application. The application was among the first .NET projects ran by our department and for nearly the whole development team it was a huge learning curve. Since it was a new experience for nearly everyone we have laid down some ugly code--actually "some" is more like "probably a few hundred thousand lines".
Our team how now matured for the most part and we are realizing our faults pockmark the application, and that maintaining in its current state is nearly as difficult as the arcane VB6 app which it replaced. Thankfully the decision-makers realize that we need to remedy our errors, however we are behind the 8-ball with much of our developers working either on scheduled feature enhancements (a necessary evil in our line of business) or on side-projects.
We are working with .NET 2.0, VS2005 (hopefully migrating to 2008), TFS 2005 (moving to 2008 soon)
What tools are available to assist us in enforcing coding standards (I am reviewing Juval Lowy's C# standards and transcribing them for VB.NET)
What tools are available to help us identify components which are poorly designed?
What tools are available to help us map our currently jumbled namespaces?
I might extend this with more questions as I think of them, or as responses spark a synapse.
new - Are there any tools that work directly against TFS to assist in analyzing our code?