What should be placed into the AssemblyTrademarkAttribute?

.net, c#

Solution

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:

- Your company name, which is protected intellectual property by default (in most countries)

- Your product name, which may or may not be protected intellectual property

- Something else irrelevant to the question.

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 `AssemblyProduct` and `AssemblyTrademark`. In case you your product name would not be protected IP it feels unreasonable to put it in the `AssemblyTrademark` as others may use this product name as well. In this case I would put my company name or leave it empty.

Problem

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?

Original source