A friend of mine asked me on MSN this morning what the difference between the "AssemblyVersion" and "AssemblyFileVersion" attributes was. I thought about it for a bit, realized that I don't know for certain, and then decided to pretend to know and said something along the lines of "it's probably to allow you to have different assemblies with the same version, but still being able to tell builds apart".

Thankfully I was on the right track (unusual for a Monday morning) as this great post by Suzanne Cook explains better than I could. Make sure you read the comments, might save you spending a day in hell.