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

Mig*_*ura 1 c# reflection .net-assembly assembly-name

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

String fullName = Assembly.GetAssembly(typeof(CP.Proj.ILogger)).FullName;
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

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

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

gia*_*min 25

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

Assembly.GetAssembly(typeof(CP.Proj.ILogger)).GetName().Name
Run Code Online (Sandbox Code Playgroud)

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

string name = Assembly.GetCallingAssembly().GetName().Name;
Run Code Online (Sandbox Code Playgroud)

甚至创建一个实用方法

public static string GetAssemblyShortName()
{
    return Assembly.GetCallingAssembly().GetName().Name;
}
Run Code Online (Sandbox Code Playgroud)


zey*_*zey 5

尝试这个 ,

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


**2**
typeof(Program).Assembly.GetName().Name;
Run Code Online (Sandbox Code Playgroud)