visual una studio standard referencia puedo net libreria importar hacer framework crear como clases clase capas biblioteca agregar c# .net

c# - una - Recuperar AssemblyCompanyName de la biblioteca de clases



importar una clase en c# (4)

Me gustaría obtener el atributo AssemblyCompany de un proyecto de WinForm dentro de mi biblioteca de clases C #. En WinForms, puedo obtener esta información usando:

Application.CompanyName;

Sin embargo, parece que no puedo encontrar una manera de obtener esa misma información utilizando una biblioteca de clases. Cualquier ayuda que puedas proporcionar sería genial!


Para obtener el ensamblaje en el que realmente reside su código actual (el código de la biblioteca de clases), y lea su atributo de compañía:

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


Podría usar la clase FileVersionInfo para obtener CompanyName y mucho más.

Dim info = FileVersionInfo.GetVersionInfo(GetType(AboutPage).Assembly.Location) Dim companyName = info.CompanyName Dim copyright = info.LegalCopyright Dim fileVersion = info.FileVersion


También puedes obtenerlo usando LINQ:

public static string GetAssemblyCompany<T>(){ string company = (from Attribute a in (typeof(T).Assembly.GetCustomAttributes()) where a is AssemblyCompanyAttribute select ((AssemblyCompanyAttribute)a).Company).FirstOrDefault(); return company; }


Assembly assembly = typeof(CurrentClass).GetAssembly(); AssemblyCompanyAttribute companyAttribute = AssemblyCompanyAttribute.GetCustomAttribute(assembly, typeof(AssemblyCompanyAttribute)) as AssemblyCompanyAttribute; if (companyAttribute != null) { string companyName = companyAttribute.Company; // Do something }