从ISLE项目中提取产品版本-VB.NET

从ISLE项目中提取产品版本-VB.NET,vb.net,setup-deployment,excel-addins,Vb.net,Setup Deployment,Excel Addins,我创建了一个Excel加载项项目和一个独立的安装文件。该加载项有其Install Shield限量版-安装项目。 在对代码进行更改时,我创建了一个新的安装文件,其中包含一个新的版本号 我想从安装项目中提取“产品版本”作为字符串。这里的图像显示了我想要提取的内容。“产品版本”可在安装项目的“一般信息”中找到 我试着使用Application.ProductVersion,但我认为这是Excel版本,而不是Addins版本 如何获取我的加载项的产品版本?我的目的是提取此版本号并将其显示在加载项功能

我创建了一个Excel加载项项目和一个独立的安装文件。该加载项有其Install Shield限量版-安装项目。 在对代码进行更改时,我创建了一个新的安装文件,其中包含一个新的版本号

我想从安装项目中提取“产品版本”作为字符串。这里的图像显示了我想要提取的内容。“产品版本”可在安装项目的“一般信息”中找到

我试着使用
Application.ProductVersion
,但我认为这是Excel版本,而不是Addins版本


如何获取我的加载项的产品版本?我的目的是提取此版本号并将其显示在加载项功能区中,以便我们可以查看正在使用的版本(这是一项要求)。

该版本将写入加载项清单文件。要获取它,您应该加载它(清单),然后提取它

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     

让我知道这是怎么回事。

我得到一个类型为“System.IO.FileNotFoundException”的异常。在\Documents\ExcelPTCMAddIn.dll.manifest中找不到该文件。该文件实际上位于\Documents\Visual Studio 2013\Projects\ExcelPTCMAddIn\ExcelPTCMAddIn\bin\Debug\n是否必须以该路径为目标?是的,路径可能不同。试一试?我在那里写了整个路径,(“…\Documents\visualstudio 2013\Projects\ExcelPTCMAddIn\ExcelPTCMAddIn\bin\Debug\ExcelPTCMAddIn.dll.manifest”)。但是我仍然得到1.0.0.0而不是7.0我做错了什么?这方面我还是新手。