As some of you might have known that we could manage the information about the assembly that we create through AssemblyInfo.cs (in C#) or AssemblyInfo.vb (in VB.NET). When you have a lot of assemblies within of your application, it is not an easy task to manage them, and sometimes it become annoying. Let say that you want to upgrade you version number each time you want to build them, you will face the reality that you need to change all the AssemblyInfo files within your solution. And that is a very boring thing to do.
I found these two articles which suggest us to use single file to maintain information which is generic for all assemblies within our application (such as AssemblyCompany, AssemblyVersion, etc). Very nice articles. Thanks to the writers, it helps me a lot managing my assemblies' version. You can find the articles here, and here.
Another good article is this one, which explain how to automate the process of giving version number each time we build our application. I haven't try it yet. But, it seems that it will be helpful to manage version of your application, specially if your application is quite large and following complex process (maybe involving step such as creating nightly build), which might require you to sign your assembly each time you build them.