我有一个 Winforms 应用程序并想显示版本号,以便我们知道我们的更新脚本是否正确运行。有没有办法获取发布版本号(显示在应用程序的属性页,发布选项卡中)?
当我使用 Reflection.Assembly.GetExecutingAssembly().GetName().Version 等时,它似乎使用了 AssemblyInfo.vb 中的 AssemblyVersion 编号,这并不相同。
如果我在 AssemblyInfo.vb 中使用通配符,它会再次出现不同的数字。
我有一个 Winforms 应用程序并想显示版本号,以便我们知道我们的更新脚本是否正确运行。有没有办法获取发布版本号(显示在应用程序的属性页,发布选项卡中)?
当我使用 Reflection.Assembly.GetExecutingAssembly().GetName().Version 等时,它似乎使用了 AssemblyInfo.vb 中的 AssemblyVersion 编号,这并不相同。
如果我在 AssemblyInfo.vb 中使用通配符,它会再次出现不同的数字。
这应该为您提供发布版本:
ApplicationDeployment.CurrentDeployment.CurrentVersion
试试这个:
If My.Application.IsNetworkDeployed Then Label1.Text = My.Application.Deployment.CurrentVersion.ToString() End If
发布版本将出现在运行时。
我没有抓住“发布版本将出现在运行时”一开始,但我能够使用它并将我的标签设置为“调试期间不适用”,然后在发布时它会更改并显示发布的版本。
试试这个:
If My.Application.IsNetworkDeployed Then
Label1.Text = My.Application.Deployment.CurrentVersion.ToString()
End If
发布版本将出现在运行时。
如果应用程序未发布,您将收到错误消息,或者您处于开发模式,您将收到错误消息。试试下面的:
Imports System.Deployment.Application
If ApplicationDeployment.IsNetworkDeployed Then
lblVersion.Text = ApplicationDeployment.CurrentDeployment.CurrentVersion
Else
lblVersion.Text = Application.ProductVersion
End If
这对我 Isidoros 有用,并进行了以下 ToString 修改。
Imports System.Deployment.Application
If ApplicationDeployment.IsNetworkDeployed Then
strTemp = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString
Else
strTemp = Application.ProductVersion.ToString
End If