2016-01-25 6 views
1

У меня есть проект Excel Addin, который я создал, и отдельный файл установки для него. В addin есть проект Install Shield Limited Edition - Setup. Когда я вношу изменения в код, я создаю новый файл установки с новым номером версии.Извлечение версии продукта из проекта ISLE - VB.NET

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

Product Version Image

Я попытался с помощью Application.ProductVersion, но я думаю, что это дает мне версию Excel, а не моей надстройки версию.

Как я могу получить версию продукта для моего добавления? Моя цель - извлечь этот номер версии и показать его в ленте добавления, чтобы мы могли видеть, какую версию мы используем (одно из требований).

ответ

1

Версия написана в файле манифеста add ins. Чтобы получить его, вы должны загрузить его (проявить), а затем извлечь его ...

Dim publishVersion As String = String.Empty 
Dim assemblyVersion As String = String.Empty 

' load the application manifest 
Using xmlrdr As XmlReader = XmlReader.Create("ExcelPTCMAddIn.dll.manifest") 
    xmlrdr.MoveToContent 
    Do While xmlrdr.Read 
     If (xmlrdr.Name = "asmv1:assemblyIdentity") Then 
      publishVersion = xmlrdr.Item("version") 
     End If 
     If ((xmlrdr.Name = "assemblyIdentity") AndAlso (xmlrdr.Item("name") = "ExcelPTCMAddIn")) Then ' there're two occurences of "assemblyIdentity" element, either one is OK 
      assemblyVersion = xmlrdr.Item("version") 
     End If 
    Loop 
End Using  

Сообщите мне, как это работает.

+0

Я получаю исключение типа «System.IO.FileNotFoundException». Он не нашел файл в \ Documents \ ExcelPTCMAddIn.dll.manifest. Файл фактически находится в папке \ Documents \ Visual Studio 2013 \ Projects \ ExcelPTCMAddIn \ ExcelPTCMAddIn \ bin \ Debug \ Нужно ли мне указывать этот путь? –

+0

Да, путь может быть другим. Дайте это выстрел? – Codexer

+0

Я написал весь путь туда («.... \ Documents \ Visual Studio 2013 \ Projects \ ExcelPTCMAddIn \ ExcelPTCMAddIn \ bin \ Debug \ ExcelPTCMAddIn.dll.manifest"). Но я все равно получаю 1.0.0.0 вместо 7.0 Что я делаю неправильно? Я все еще новичок в этом. –