我正在尝试获取Powershell的版本(在本例中)FileVersionInfo GetVersionInfo.Below是我的代码 -
static void Main(string[] args)
{
var versionInfo = FileVersionInfo.GetVersionInfo(@"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe");
Console.WriteLine("versionInfo.FileMajorPart "+ versionInfo.FileMajorPart+" versionInfo.FileMinorPart "+ versionInfo.FileMinorPart+" versionInfo.FileBuildPart "+ versionInfo.FileBuildPart+" versionInfo.FilePrivatePart "+versionInfo.FilePrivatePart);
Console.WriteLine("File version-"+ versionInfo.FileVersion);
}
我得到的输出是 -
versionInfo.FileMajorPart 6 versionInfo.FileMinorPart 2 versionInfo.FileBuildPart 14393 versionInfo.FilePrivatePart 0
File version-10.0.14393.0 (rs1_release.160715-1616)
如果我打开exe并查看详细信息选项卡,正确的版本是10.0.14393.0。对于Windows 10中的一些exes,我得到的错误的值是这样的。我不明白的是versionInfo.FileVersion如何给出正确的结果,但FileMajorPart没有。一个更奇怪的观察是,如果我只是将exe文件复制到桌面并尝试使用该路径,这是正常的。