Номер версии dll в .NET.
Учитывая следующее:
string file = @"c:\somepath\somefile.dll";
Как найти номера файлов и продуктов этой DLL с помощью .NET?
DLL может быть либо нативной, либо управляемой.
Спасибо.
Ответы
Ответ 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).
Ответ 4
В сборке есть три номера версии. Для информации о том, какие значения они берут, кто их использует и как их читать, см. http://all-things-pure.blogspot.com/2009/09/assembly-version-file-version-product.html.
Ответ 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 в зависимости от того, как издатель решил назначить версию и построить.