Получение имени сборки



класс исключений C#имеет свойство source, которое по умолчанию имеет имя сборки.

Есть ли другой способ получить эту точную строку (без разбора другую строку)?



Я пробовал следующие:



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"
}
625   5  

5 ответов:

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

или

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

Я использую сборку, чтобы установить заголовок формы как таковой:

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.AssemblyTitleAttribute.Title свойства:

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

можно использовать AssemblyName класс для получения имени сборки, если у вас есть полное имя для сборки:

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

или

AssemblyName.GetAssemblyName(e.Source).Name

MSDN Reference-AssemblyName Class

сборка.GetExecutingAssembly().Расположение

Comments

    Ничего не найдено.