如何从引用的dll获取可执行文件的程序集信息?

时间:2017-10-12 12:30:57

标签: c# .net wpf dll

我有一个Windows WPF应用程序,它编译为" MyApp.exe"。此应用程序引用我的名为" MyDll.dll"的DLL。在DLL中,我有以下功能:

public string GetFileDescription()
{
    System.Diagnostics.FileVersionInfo fileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
    return fileVersionInfo.FileDescription;
}

此函数应该读取可执行文件的文件描述。但是,它返回的是DLL的相同内容。

如果我将该功能复制到应用程序,它就可以正常工作。但该函数应保留在DLL中。

如何从引用的dll获取可执行文件的程序集信息?

的参考文献:

我在Stack Overflow上读了多个问题(包括this),但没有一个涉及DLL。这个question是关于可执行文件的名称;我想要可执行文件描述。

1 个答案:

答案 0 :(得分:2)

使用Assembly.GetEntryAssembly()而不是Assembly.GetExecutingAssembly()来获取条目(即EXE)而不是当前(即DLL)。