There is no problem versioning a project - just edit the AssemblyInfo.cs file. But how does one update all assemblies in a solution without having to update this file for every project?
Create a AssemblyInfo.shared.cs file in any project and fill it with the versioning parts. Then link this file from all the other projects through the dropdown by the add button in the add existing file dialogue. One cannot create a file directly in the Properties folder so add it in the root of the project and then move it to the Properties folder.
Presently I have problems doing this in VB.Net but don’t know if it is a side effect of me not reaching TFS by the time of writing.
I also cannot get it to work together with Team city. Moving the version to a file with a different name makes Teamcity update AssemblyInfo.cs and then we get 2 references to the same [assembly: AssemblyVersion("1.0.0.0")]. Maybe this on Stackoverflow would save my day but I haven’t had the time to delve into it.
I have another solution idea and that is to set AssemblyInfo.cs as shared and then create a unique AssemblyInfo.project.cs for each project. Have not had time for this either.