获取没有版本和其他详细信息的程序集名称

时间:2013-11-06 11:06:55

标签: c# reflection .net-assembly assembly-name

我得到一个程序集的名称如下:

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

我得到以下内容:

  

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

有没有办法只获取程序集名称"CP.Proj",而没有版本和其他信息?

2 个答案:

答案 0 :(得分:23)

您需要通过AssemblyName方法

获取该程序集的Assembly.GetName()对象
Assembly.GetAssembly(typeof(CP.Proj.ILogger)).GetName().Name

如果程序集是调用该方法的程序集,则可以使用:

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

甚至创建实用工具方法

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

答案 1 :(得分:3)

试试这个,

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


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