1

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

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

以下代码返回库的版本而不是主应用程序的版本:

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

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

4

3 回答 3

4

很简单:

Assembly.GetEntryAssembly().GetName().Version
于 2013-05-03T14:57:35.227 回答
0

使用Assembly.GetEntryAssembly将使您在默认应用程序域中处理可执行文件。

顺便提一下,这不适用于 ASP.NET 应用程序

于 2013-05-03T14:59:58.923 回答
0

看到这个答案:https ://stackoverflow.com/a/4803419/91619

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

https://nuget.org/packages/ApplicationAssemblyUtility

于 2013-05-03T15:12:52.460 回答