español c# .net reflection assemblyinfo

español - assembly get version c#



Obtener nombre de ensamblado (4)

La clase de excepción de C # tiene una propiedad de origen que se establece de forma predeterminada en el nombre del ensamblaje.
¿Hay alguna otra forma de obtener esta cadena exacta (sin analizar una cadena diferente)?

He probado lo siguiente:

catch(Exception e) { string str = e.Source; //"EPA" - what I want str = System.Reflection.Assembly.GetExecutingAssembly().FullName; //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" str = typeof(Program).FullName; //"EPA.Program" str = typeof(Program).Assembly.FullName; //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" str = typeof(Program).Assembly.ToString(); //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" str = typeof(Program).AssemblyQualifiedName; //"EPA.Program, EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" }


Puede probar este código que usa la propiedad System.Reflection.AssemblyTitleAttribute.Title :

((AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false)).Title;


Puede usar la clase AssemblyName para obtener el nombre del ensamblado, siempre que tenga el nombre completo del ensamblado:

AssemblyName.GetAssemblyName(Assembly.GetExecutingAssembly().FullName).Name

o

AssemblyName.GetAssemblyName(e.Source).Name

Referencia de MSDN - Clase AssemblyName


Uso la Asamblea para establecer el título del formulario como tal:

private String BuildFormTitle() { String AppName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name; String FormTitle = String.Format("{0} {1} ({2})", AppName, Application.ProductName, Application.ProductVersion); return FormTitle; }


System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

o

typeof(Program).Assembly.GetName().Name;