遵循代码:
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;