web-dev-qa-db-ja.com

アセンブリの会社名と著作権情報を取得する

Assembly.GetEntryAssembly().GetName()を使用してアプリケーション/アセンブリ名とそのバージョンを取得していますが、会社名と著作権の変数が表示されません。どうやって手に入れますか?

27
Computer User

次のように FileVersionInfo を使用できます。

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

var companyName = versionInfo.CompanyName;
47

会社名の この回答 から:

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

著作権についても同様です。 (AssemblyCopyrightAttributeを使用します)。

9
George Duckett

これらは、リフレクションを使用してAssemblyオブジェクトで列挙する必要がある属性です。

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

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