Класс исключений в 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"
}
c#
.net
reflection
assemblyinfo
Патрик
источник
источник
Я использую сборку, чтобы установить заголовок формы следующим образом:
источник
Вы можете попробовать этот код, который использует
System.Reflection.AssemblyTitleAttribute.Title
свойство:((AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false)).Title;
источник
Вы можете использовать
AssemblyName
класс для получения имени сборки при условии, что у вас есть полное имя сборки:или
Справочник по MSDN - класс AssemblyName
источник
Assembly.GetExecutingAssembly().Location
вместоAssembly.GetExecutingAssembly().FullName
.Assembly.GetExecutingAssembly () Местоположение.
источник