Если вы пытаетесь получить информацию об исполняемом файле, вы также можете go немного по-другому и попробовать это.
Примечание. В этом примере извлекается информация о выполняющейся в данный момент сборке. Но этот подход может собирать информацию для любого исполняемого файла (не только вашего).
Примечание: Json сериализация используется здесь только для того, чтобы показать, какая информация доступна через класс FileVersionInfo
.
string executablePath = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(executablePath);
Console.WriteLine(JsonConvert.SerializeObject(fileVersionInfo, Newtonsoft.Json.Formatting.Indented));
Вывод для моего очень простого консольного приложения выглядит следующим образом:
{
"Comments": "",
"CompanyName": "",
"FileBuildPart": 0,
"FileDescription": "ConsoleApplication1",
"FileMajorPart": 2,
"FileMinorPart": 1,
"FileName": "C:\\Projects\\.....\\ConsoleApplication1.exe",
"FilePrivatePart": 0,
"FileVersion": "2.1.0.0",
"InternalName": "ConsoleApplication1.exe",
"IsDebug": false,
"IsPatched": false,
"IsPrivateBuild": false,
"IsPreRelease": false,
"IsSpecialBuild": false,
"Language": "Language Neutral",
"LegalCopyright": "Copyright © 2019",
"LegalTrademarks": "",
"OriginalFilename": "ConsoleApplication1.exe",
"PrivateBuild": "",
"ProductBuildPart": 0,
"ProductMajorPart": 2,
"ProductMinorPart": 1,
"ProductName": "ConsoleApplication1",
"ProductPrivatePart": 0,
"ProductVersion": "2.1.0.0",
"SpecialBuild": ""
}