获取程序集名称而不包括版本和其他详细信息

16

我正在按照以下方式获取程序集的名称:

String fullName = Assembly.GetAssembly(typeof(CP.Proj.ILogger)).FullName;

我得到了以下信息:

 

CP.Proj,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null

有没有一种方法可以只获取程序集名称"CP.Proj",而不包括版本和其他信息?


1
你看过Assembly.GetAssembly()的返回类型以及该类型的可用属性和方法吗? - CodeCaster
typeof(CP.Proj.ILogger).ToString(); - Shahin Dohan
2个回答

42

你需要通过Assembly.GetName()方法获取该程序集的AssemblyName对象。

Assembly.GetAssembly(typeof(CP.Proj.ILogger)).GetName().Name

如果调用该方法的是该程序集本身,您可以使用以下方法:

string name = Assembly.GetCallingAssembly().GetName().Name;

甚至可以创建一个实用方法

public static string GetAssemblyShortName()
{
    return Assembly.GetCallingAssembly().GetName().Name;
}

5
请尝试以下内容:
**1**
System.Reflection.Assembly.GetExecutingAssembly().GetName().Name


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接