Получить название компании и информацию об авторских правах сборки

Я использую Assembly.GetEntryAssembly().GetName() для получения имени приложения/сборки и его версии, но я не вижу никакой переменной для названия компании и авторского права. Как это получить?

Ответы

Ответ 1

Вы можете использовать FileVersionInfo следующим образом:

var versionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);

var companyName = versionInfo.CompanyName;

Ответ 2

От этот ответ для названия компании:

Assembly currentAssem = typeof(CurrentClass).Assembly;
object[] attribs = currentAssem.GetCustomAttributes(typeof(AssemblyCompanyAttribute), true);
if(attribs.Length > 0)
{
    string company = ((AssemblyCompanyAttribute)attribs[0]).Company
}

Аналогично для авторских прав. (Используйте AssemblyCopyrightAttribute).

Ответ 3

Это атрибуты, которые вы должны перечислять на объекте Assembly, используя отражение.

var attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);

var attribute = null;
if (attributes.Length > 0)
{
    attribute = attributes[0] as AssemblyCompanyAttribute;
}