En mi caso, estamos creando un producto para el que tenemos una solución de Visual Studio, con varios componentes en sus propios proyectos. Los atributos comunes van. En la solución, hay alrededor de 35 proyectos y una información de ensamblaje común (CommonAssemblyInfo.cs), que tiene los siguientes 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")]
Los otros atributos, como AssemblyTitle, AssemblyVersion, etc., los suministramos por ensamblaje. Al construir un ensamblaje, tanto AssemblyInfo.cs como CommonAssemblyInfo.cs se integran en cada ensamblaje. Esto nos brinda lo mejor de ambos mundos, donde es posible que desee tener algunos atributos comunes para todos los proyectos y valores específicos para otros.
Espero que ayude.