Winforms:获取发布版本号?

时间:2013-05-07 16:09:45

标签: vb.net winforms system.reflection

我有一个Winforms应用程序并希望显示版本号,以便我们可以知道我们的更新脚本是否正常运行。有没有办法获取发布版本号(显示在应用程序的属性页,发布选项卡)?

当我使用Reflection.Assembly.GetExecutingAssembly()。GetName()。版本等时,它似乎使用AssemblyInfo.vb中的AssemblyVersion编号,这是不一样的。

如果我在AssemblyInfo.vb中使用通配符,它​​会再次显示不同的数字。

5 个答案:

答案 0 :(得分:10)

这应该是你的发布版本:

ApplicationDeployment.CurrentDeployment.CurrentVersion

答案 1 :(得分:1)

  

试试这个:

     
    

如果My.Application.IsNetworkDeployed那么         Label1.Text = My.Application.Deployment.CurrentVersion.ToString()
       结束如果

  
     

发布版本将在运行时出现。

我没有抓住“发布版本将在运行时出现”开始,但我能够使用它并设置我的标签说“调试期间N / A”然后发布时更改并显示已发布的版本

答案 2 :(得分:0)

如果未发布应用程序,则将出现错误,或者您处于开发模式,则将得到错误。请尝试以下操作:

Imports System.Deployment.Application

If ApplicationDeployment.IsNetworkDeployed Then
   lblVersion.Text = ApplicationDeployment.CurrentDeployment.CurrentVersion
Else
   lblVersion.Text = Application.ProductVersion
End If

答案 3 :(得分:0)

使用以下ToString修改对Isidoros有用。

Imports System.Deployment.Application

If ApplicationDeployment.IsNetworkDeployed Then
    strTemp = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString
Else
    strTemp = Application.ProductVersion.ToString
End If

答案 4 :(得分:-1)

试试这个:

If  My.Application.IsNetworkDeployed Then
    Label1.Text = My.Application.Deployment.CurrentVersion.ToString()
End If

发布版本将在运行时出现。