如何从引用的dll获取可执行文件的程序集信息?
问题描述:
我有一个编译为“MyApp.exe”的Windows WPF应用程序。此应用程序引用我的名为“MyDll.dll”的DLL。在DLL中,我有以下功能:如何从引用的dll获取可执行文件的程序集信息?
public string GetFileDescription()
{
System.Diagnostics.FileVersionInfo fileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
return fileVersionInfo.FileDescription;
}
该函数应该读取可执行文件的文件描述。但是,它反而是返回同样的DLL。
如果我将该函数复制到应用程序,它只是正常工作。但函数应该停留在DLL中。
如何从引用的dll获取可执行文件的程序集信息?
参考文献:
我读堆栈溢出多个问题(包括this),但它没有一个涉及到DLL。这question是关于可执行文件名称;我想要可执行文件的说明。
答
使用Assembly.GetEntryAssembly()
而不是Assembly.GetExecutingAssembly()
来获得条目(即EXE)而不是当前(即DLL)。