如何动态获取程序集名称



我在图书馆里得到了一个这样的类:

namespace Foo
{
public abstract class EventBase
{
public string EventSource => Assembly.GetExecutingAssembly().GetName().Name;
public long Timestamp => DateTimeOffset.UtcNow.ToUnixTimeSeconds();
public Guid EventId => Guid.NewGuid();
}
}
public class ActionRecordable : EventBase
{
public string ActionName { get; set; }
public Guid UserId { get; set; }
}

但是当我在Bar解决方案中使用库时,属性 EventSource 我得到了Foo(库的命名空间,而不是使用它的项目的名称(。

有没有办法获取正在动态使用的程序集的名称?

您可以使用如下所示的反射来获取程序集名称

string name = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;

这是在运行时
提供程序集名称的代码

string name =  System.Reflection.Assembly.GetExecutingAssembly().FullName;
string[] values = name.Split(new char[] { ',' });<br>
Console.WriteLine("FullName Assembly:{0}", values[0]);

最新更新