我有一个我负责的项目,要安装一些Microsoft KB,但是他们要我检查一旦安装了KB,它已经更新了DLL,并且我能看到它们不同的唯一方法是由DLL版本。
有没有办法让VB.net检查DLL文件版本(右击 - 属性 - 详细信息 - 文件版本)?
我在互联网上发现了一些东西,但是我无法让它们工作,或者更有可能我不明白我需要做些什么才能获得正确的信息。
对此的任何帮助都将非常感激。
答案 0 :(得分:2)
这应该会给你一些见解。
修改强>
我没有添加文章中的代码,以为我会在链接丢失之前更新答案:
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
答案 1 :(得分: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