Как определить версию dll и exe файла в C#?

126
11 декабря 2019, 09:40

Необходимо в приложении проверять версию dll и exe файла (данные файлы сторонние, и не используются в самой программе) так же необходимо вывести зависимости из каждого dll и exe файла, с помощью чего это можно реализовать?

Answer 1

Есть класс: Version. И у этого класса есть оператор сравнения.

Version first = new Version("1.1.2.1");
Version second = new Version("2.1.1.1");
bool b = first >= second;

У каждого файла есть информация о файле. Та которую ты видишь выбрав "свойства" в контекстном меню.

Вот так достается информация о версии файла по адресу на локальном диске через FileVersionInfo (на примере блокнота):

var notepadFileInfo = FileVersionInfo.GetVersionInfo(Path.Combine(Environment.SystemDirectory, "Notepad.exe"));
Answer 2

Конечно, зависит от версии вашей dotNET библиотеки, но формально, любой файл должен содержать свою версию. Как уже писали выше -

FileVersionInfo.GetVersionInfo(Path.Combine(Environment.SystemDirectory, "filename.exe"));

Допустим, можешь создать переменную, содержащую номер прошлой версии и сравнивать с данной, а там уже делаешь что нужно конкретно тебе. Удачи!

READ ALSO
Как разделить лист на два по предикату?

Как разделить лист на два по предикату?

Имеется лист, из которого необходимо получить два согласно предикатуНа данный момент делаю так:

141
Чем интерфейс IEnumerable<T> отличается от IQueryable<T>

Чем интерфейс IEnumerable<T> отличается от IQueryable<T>

Собственно не могу понять основное отличие и для чего они были добавлены

103
Русские символы pdfparser

Русские символы pdfparser

Ссылка на тестовый PDF: https://meganz/#!6yRE1CSC!VvZ7vimkVLk4JDVLU9KrtEeZW9jQeKJn98BStl7JN3s

136