VB.net Получить версию DLL-файла

У меня есть проект, с которым мне поручено установить некоторые Microsoft KB, но они хотят, чтобы я проверил, что после того, как KB установлена, она обновляет DLL, и я вижу, что они различаются только с помощью DLL. версия.

Есть ли способ заставить VB.net проверить версию файла DLL (щелкните правой кнопкой мыши - свойства - подробности - версия файла)?

Я нашел несколько вещей в Интернете, но я не могу заставить их работать, или, скорее всего, я не понимаю, что мне нужно сделать, чтобы получить правильную информацию.

Любая помощь с этим будет принята с благодарностью.

2 ответа

Решение

После вызова библиотеки DLL, чтобы убедиться, что она загружена, вы можете получить информацию из этой библиотеки DLL (все, что вы увидите при щелчке правой кнопкой мыши на библиотеке DLL), используя что-то вроде этого:

Dim sModule As String

For Each tModule As ProcessModule In Process.GetCurrentProcess().Modules
  sModule = tModule.FileName
  If sModule.ToUpper.Contains(DLLFileName.ToUpper) Then
    Dim myFileVersionInfo As FileVersionInfo = _
           FileVersionInfo.GetVersionInfo(sModule)
    DLLFileAndVersion = sModule & " " & myFileVersionInfo.ProductVersion
  End If
Next

http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.fileversion(v=vs.110).aspx

Это должно дать вам некоторое представление.

РЕДАКТИРОВАТЬ

Я не добавил код из статьи, подумал, что обновлю ответ до потери ссылки:

Imports System
Imports System.IO
Imports System.Diagnostics



Class Class1

    Public Shared Sub Main(ByVal args() As String)
    ' Get the file version for the notepad.
    ' Use either of the following two commands.
    FileVersionInfo.GetVersionInfo(Path.Combine(Environment.SystemDirectory, "Notepad.exe"))
    Dim myFileVersionInfo As FileVersionInfo = FileVersionInfo.GetVersionInfo(Environment.SystemDirectory + "\Notepad.exe")


    ' Print the file name and version number.
    Console.WriteLine("File: " + myFileVersionInfo.FileDescription + vbLf + "Version number: " + myFileVersionInfo.FileVersion)

    End Sub
End Class
Другие вопросы по тегам