获取软件包的当前版本

时间:2019-01-05 21:32:00

标签: c# .net-standard

关注代码:

public static string GetVersion()
{
    //for .NET Standard 2.0
    //return FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion;

    //for .NET Standard 1.2 - write the version number manually.
    return "1.0.0";
}

我正在尝试获取软件包版本 .Net Standard 1.2 ,因为FileVersionInfo类不存在。

1.2版是否有解决方案?

2 个答案:

答案 0 :(得分:1)

对于.NET Framework:

using System;
...
string ver = AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName;

,对于.NET Core:

using System.Reflection;
using System.Runtime.Versioning;
...
string ver = Assembly.GetEntryAssembly()?.GetCustomAttribute<TargetFrameworkAttribute>()?.FrameworkName;

输出:

.NETFramework,Version=v4.5.1
.NETCoreApp,Version=v2.0

答案 1 :(得分:-1)

正在寻找如何获取软件包版本。 您的问题是正确的,只是缺少名称空间。 以下代码为System.Diagnostics.FileVersionInfo和System.Reflection.Assembly的完整命名空间

请注意,如果可能的话,它是从.Net Standard 2.0.3运行的。

var package_version = System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).ProductVersion;