Getting assembly name
C#'s exception class has a source property which is set to the name of the assembly by default.
Is there another way to get this exact string (without parsing a different string)?I have tried the following:
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"
}
System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
or
typeof(Program).Assembly.GetName().Name;
I use the Assembly to set the form's title as such:
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;
}
You can use the AssemblyName
class to get the assembly name, provided you have the full name for the assembly:
AssemblyName.GetAssemblyName(Assembly.GetExecutingAssembly().Location).Name
or
AssemblyName.GetAssemblyName(e.Source).Name
MSDN Reference - AssemblyName Class
You could try this code which uses the System.Reflection.AssemblyTitleAttribute.Title
property:
((AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false)).Title;
Assembly.GetExecutingAssembly().Location
When you do not know the assembly's location, but have its display name (e.g. ReactiveUI, Version=18.0.0.0, Culture=neutral, PublicKeyToken=null
):
var assemblyName = "ReactiveUI, Version=18.0.0.0, Culture=neutral, PublicKeyToken=null"
new AssemblyName(assemblyName).Name // "ReactiveUI"
精彩评论