【问题标题】:How can I get Copyright, Version, Company, etc. from within a .Net Core console app?如何从 .Net Core 控制台应用程序中获取版权、版本、公司等?
【发布时间】:2018-07-08 19:29:40
【问题描述】:

我试图找到一个方法来从 .NET Core 控制台应用程序中读取包属性,如版权、版本、公司等。过去使用带有 AssemblyCopyrightAttribute 等属性的框架很简单,但使用 Core 我有一个线索。

在这方面的任何帮助将不胜感激!

【问题讨论】:

  • 出于好奇,你想用这个做什么?这对我来说就像XY problem。您试图利用这些信息实现的最终目标是什么?
  • 编译后的程序集中有相同的信息,所以我想知道为什么你不能使用以前的方法(尽管你可能必须在 .NET Core 2.0 上,其中包含必要的类)。跨度>
  • 它们作为非托管资源嵌入到可执行文件中。高度特定于 Windows,因此不是 .NETCore 中的理想功能。有一个Nuget package 将其添加回来,我怀疑您必须在 *nixes 上进行测试以验证它是否仍然有效。考虑改用反射。
  • 我正在使用该功能在我的机器上查找 LocalPath 以存储配置数据,并在窗口标题栏中显示程序标题和当前版本。
  • 我也想到了 FileVersionInfo,但我不想检查 .exe 文件。相反,'从我想要获取信息的 .exe 内部

标签: .net-core


【解决方案1】:

您可以使用FileVersionInfo,如下所示

var fileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);
Console.WriteLine(fileVersionInfo.ProductVersion); // Package Version
Console.WriteLine(fileVersionInfo.CompanyName); // Company
Console.WriteLine(fileVersionInfo.LegalCopyright); // Copyright
Console.WriteLine(fileVersionInfo.Comments); // Description

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 2021-03-14
    • 2017-05-18
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    相关资源
    最近更新 更多