如何从引用的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)。