获取包的当前版本



遵循代码:

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版有什么解决方案吗?

对于 .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

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

请注意,如果可能的问题,这是从 .Net 标准 2.0.3 运行

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

最新更新