Visual Studio generates this set of attributes for a C# assembly by default:
[assembly: AssemblyTitle("ContosoApp")]
[assembly: AssemblyDescription("Contoso's latest great product.")]
#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif
[assembly: AssemblyCompany("Contoso Corporation")]
[assembly: AssemblyProduct("ContosoApp Suite")]
[assembly: AssemblyCopyright("Copyright © Contoso 2012")]
[assembly: AssemblyTrademark("")] // ??
[assembly: AssemblyCulture("")]
I have no idea what makes “Trademark” different from “Company” here. What should be placed here?
We have three fields of interest here: company name, product name and trademark.
The company name is quite obvious what it is, and so is the product name. The trademark, however, is more ambiguous. According to this article the trademark could either be:
A product name can be protected IP if you have registered it as a trademark. Microsoft Office is a great example of a protected product name/trademark. In this case only you as the owner may use the product name for your products. By default, however, a product name is not protected IP and can be used by any person or company that wish to use it.
In your case you have a registered (and protected) product name or trademark and it seems very reasonable to use that for both
AssemblyProductandAssemblyTrademark. In case you your product name would not be protected IP it feels unreasonable to put it in theAssemblyTrademarkas others may use this product name as well. In this case I would put my company name or leave it empty.