在C#中从引用的DLL执行程序集名称

从C#中引用的类库中获取正在执行的程序集的应用程序名称(即MyApplication.exe)的最佳方法是什么?

我需要打开应用程序的app.config来检索引用的DLL的一些appSettings变量。


如果你想获得当前的appdomain的配置文件,那么你所需要做的就是:

ConfigurationManager.AppSettings ....

(这当然需要参考System.Configuration)。

要回答你的问题,你可以这样做,因为雷说(或使用Assembly.GetExecutingAssembly().FullName ),但我认为使用ConfigurationManager更容易解决问题。


要获得问题标题的答案:

// Full-name, e.g. MyApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
string exeAssembly = Assembly.GetEntryAssembly().FullName;

// or just the "assembly name" part (e.g. "MyApplication")
string exeAssemblyName = Assembly.GetEntryAssembly().GetName().Name;

正如@Ben所述,由于您提到想要获取配置信息,请使用ConfigurationManager类。


要获得没有版本的确切名称,请使用:

string appName = Assembly.GetEntryAssembly().GetName().Name;

适用于.NET v1.1及更高版本。

链接地址: http://www.djcxy.com/p/21087.html

上一篇: Get executing assembly name from referenced DLL in C#

下一篇: EventInfo access modifiers