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
Это должно дать вам некоторое представление.
РЕДАКТИРОВАТЬ
Я не добавил код из статьи, подумал, что обновлю ответ до потери ссылки:
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