Номер версии DLL в .NET - PullRequest
       71

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

25 голосов
/ 08 октября 2009

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

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

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

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

Спасибо.

Ответы [ 6 ]

38 голосов
/ 08 октября 2009

Да, с использованием System.Diagnostics.FileVersionInfo .

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

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

4 голосов
/ 08 октября 2009
 FileVersionInfo fi = FileVersionInfo.GetVersionInfo(path);
 string fileVersion = fi.FileVersion;

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

4 голосов
/ 08 октября 2009

Я не знаю о нативных dll, но с управляемыми dll это работает так:

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

РЕДАКТИРОВАТЬ: Я думаю, что вы можете прочитать информацию о версии в C с GetFileVersionInfo() ...

1 голос
/ 09 октября 2009

В сборке три номера версий. Для получения информации о том, какие значения они принимают, кто их использует и как их читать, см. http://all -things-pure.blogspot.com / 2009/09 / assembly-version-file-version-product.html .

0 голосов
/ 19 января 2014

для версии файла сборки .net вполне может быть чем-то 1,0. , 1,1. 1,2. , 2,0. и т. Д. иными словами, издатель может выбрать исправление основной и вспомогательной версии проекта, а остальное оставьте на .net для компиляции и приращения. С другой стороны

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

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

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

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

0 голосов
/ 08 октября 2009

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

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

...