No meu caso, estamos construindo um produto para o qual temos uma solução do Visual Studio, com vários componentes em seus próprios projetos. Os atributos comuns vão. Na solução, existem cerca de 35 projetos e uma informação de montagem comum (CommonAssemblyInfo.cs), que possui os seguintes atributos:
[assembly: AssemblyCompany("Company")]
[assembly: AssemblyProduct("Product Name")]
[assembly: AssemblyCopyright("Copyright © 2007 Company")]
[assembly: AssemblyTrademark("Company")]
//This shows up as Product Version in Windows Explorer
//We make this the same for all files in a particular product version. And increment it globally for all projects.
//We then use this as the Product Version in installers as well (for example built using Wix).
[assembly: AssemblyInformationalVersion("0.9.2.0")]
Os outros atributos, como AssemblyTitle, AssemblyVersion, etc., são fornecidos por montagem. Ao criar uma montagem, AssemblyInfo.cs e CommonAssemblyInfo.cs são criados em cada montagem. Isso nos dá o melhor dos dois mundos, onde você pode querer ter alguns atributos comuns para todos os projetos e valores específicos para outros.
Espero que ajude.