获取在非主程序集的程序集中运行的应用程序的名称和版本

本文关键字:程序集 应用程序 版本 运行 程序 主程序 获取 集中 | 更新日期: 2023-09-27 18:12:13

我有一个应用程序,它使用了一些其他的库,这些库在它们自己的程序集中实现。

在其中一个程序集中,我想获得主应用程序的版本,而不是运行程序集。

下面的代码返回库的版本,而不是主程序的版本:

   var lcAssembly = Assembly.GetExecutingAssembly();
   var parts = lcAssembly.FullName.Split(',');
   var lcVersionStr = parts[1].Split('=')[1];
   mVersion = new Version(lcVersionStr);

如何获得主程序集的版本?

获取在非主程序集的程序集中运行的应用程序的名称和版本

非常简单:

Assembly.GetEntryAssembly().GetName().Version

使用汇编。GetEntryAssembly,它将使您在默认应用程序域中获得进程可执行文件。

只是提一下,这将不适用于ASP。网络应用

查看答案:https://stackoverflow.com/a/4803419/91619

它提供了一个Nuget包,可以为ASP提供主应用程序版本。. NET应用程序或其他应用程序

https://nuget.org/packages/ApplicationAssemblyUtility

相关文章: