7

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

当我使用 Reflection.Assembly.GetExecutingAssembly().GetName().Version 等时,它似乎使用了 AssemblyInfo.vb 中的 AssemblyVersion 编号,这并不相同。

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

4

5 回答 5

12

这应该为您提供发布版本:

ApplicationDeployment.CurrentDeployment.CurrentVersion
于 2013-05-07T16:16:04.950 回答
3

试试这个:

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

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

我没有抓住“发布版本将出现在运行时”一开始,但我能够使用它并将我的标签设置为“调试期间不适用”,然后在发布时它会更改并显示发布的版本。

于 2018-01-18T22:51:43.983 回答
1

试试这个:

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

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

于 2017-07-31T19:09:51.640 回答
1

如果应用程序未发布,您将收到错误消息,或者您处于开发模式,您将收到错误消息。试试下面的:

Imports System.Deployment.Application

If ApplicationDeployment.IsNetworkDeployed Then
   lblVersion.Text = ApplicationDeployment.CurrentDeployment.CurrentVersion
Else
   lblVersion.Text = Application.ProductVersion
End If
于 2019-12-22T13:18:44.780 回答
1

这对我 Isidoros 有用,并进行了以下 ToString 修改。

Imports System.Deployment.Application

If ApplicationDeployment.IsNetworkDeployed Then
    strTemp = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString
Else
    strTemp = Application.ProductVersion.ToString
End If
于 2020-11-22T22:38:29.940 回答