Question: Good programming practice these days tends to mean splitting your stuff up into lots of assemblies and namespaces (for example, see [S#arp Architecture](http://www.sharparchitecture.net/), [MVC](http://www.asp.net/mvc), etc.). However a side-effect of that is that you have to stick a whole bunch of 'using ' directives into every class file. You know the sort of thing: Every controller class needs to 'use' the models and viewmodels namespaces, etc., etc.

Are there any techniques for making this easier? For example, is it possible to declare `using` directives at the namespace level instead of the file level - so that every class in a namespace 'foo' automatically is using namespace 'bar'? Or are there smart ways of setting the default 'usings' that Visual Studio adds, based on the folder you are in? Or other ways of making the adding of 'usings' less tedious?

Answer: 
To make the management of adding 'usings' and removing unnecessary 'usings' less tedious, I recommend trying out [JetBrains' ReSharper](http://www.jetbrains.com/resharper/). It will help recognize when you need to add a missing 'using' and will grey out 'using' statements that are not needed.
Well, you could create your own item template with all the necessary usings and use it when creating new files.