Подтвердить что ты не робот

Номер версии dll в .NET.

Учитывая следующее:

string file = @"c:\somepath\somefile.dll";

Как найти номера файлов и продуктов этой DLL с помощью .NET?

DLL может быть либо нативной, либо управляемой.

Спасибо.

4b9b3361

Ответ 1

Да, используя System.Diagnostics.FileVersionInfo.

string fileVersion = FileVersionInfo.GetVersionInfo(file).FileVersion;
string productVersion = FileVersionInfo.GetVersionInfo(file).ProductVersion;

Обратите внимание, что версия файла сборки может отличаться от версии сборки. Версия сборки является частью идентификатора сборки.

Ответ 2

Я не знаю о родных DLL, но с управляемыми dlls он работает следующим образом:

System.Reflection.Assembly.LoadFile(file).GetName().Version

EDIT: Я думаю, вы можете прочитать информацию о версии на C с помощью GetFileVersionInfo()...

Ответ 3

 FileVersionInfo fi = FileVersionInfo.GetVersionInfo(path);
 string fileVersion = fi.FileVersion;

В Windows "Версия файла" и "Версия продукта" одинаковы (или, по крайней мере, для управляемого .dll).

Ответ 5

Если вам нужна информация о версии файла, используйте класс FileVersionInfo (Документация FileVersionInfo)

Если вам нужна версия сборки, вам нужно будет загрузить эту сборку, используя отражение. Существует пример того, как это сделать на code plex

Ответ 6

для версии сборки сборки .net может быть что-то 1.0., 1.1. 1.2., 2.0. скоро другими словами, издатель может выбрать исправление основной и второстепенной версии для проекта, но остальное для компиляции и увеличения. С другой стороны,

string version=System.Reflection.Assembly.GetExecutingAssembly()
    .GetName().Version.ToString();

даст полный номер версии с основными, второстепенными, строчными номерами

приведенный выше код С# работает при выполнении .exe и выполнении .dll

Конечно, если вы пытаетесь использовать кого-то dll, вы можете использовать предложение Eclipsed4utoo или EricSchaefer в зависимости от того, как издатель решил назначить версию и построить.