2012-06-28 3 views
4

Salvete! Я пишу программу vb.net для обновления файлов readme для своих приложений. Я хочу извлечь номер версии из других скомпилированных приложений. Я хочу прочитать номер версии из исполняемого файла, а не из его несвязанных ресурсов.Как получить версию исполняемого файла?

Как это сделать в vb.net без использования внешнего инструмента, такого как reshacker?

(я нашел this link, но для другого языка.)

ответ

10

Вы можете использовать функцию, как это сделать:

Private Function GetFileVersionInfo(ByVal filename As String) As Version 
    Return Version.Parse(FileVersionInfo.GetVersionInfo(filename).FileVersion) 
End Function 

Использование:

Debug.WriteLine(GetFileVersionInfo("C:\foo\bar\myapp.exe").ToString) 

Выход:

4.2.9.281 
+0

Bea utiful! Это идеальный ответ - с кодом, выходом и т. Д.! Я потратил около часа исследований, пытаясь понять это. Тем не менее, это не работает для каждой программы, кажется - по крайней мере, я знаю, что она работает * только для файлов с версией файла, указанной в ресурсе, но я попробовал ее в одном конкретном файле, который показывает это, но это не захватило бы его. Тем не менее, это работает на всех моих собственных программах! – bgmCoder

Смежные вопросы