Application.ProductVersion始终返回1.0.0.0

Tom*_*Tom 10 vb.net

在My Project的发布选项卡上有正确的当前版本,1.1.0.0,在控制面板下的程序和功能中显示1.1.0.0,但是当我引用Application.ProductVersion时,我得到1.0.0.0.

我做错了什么或我在这里错过了什么?

谢谢.

DJI*_*ave 13

组合版本(在application.config文件中)和ClickOnce Publish版本是2个单独的数字.

如果要在运行时获取ClickOnce版本,可以使用以下代码

     If (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed) Then
        With System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion
            Me.Text = "V" & .Major & "." & .Minor & "." & .Build
        End With
     End If
Run Code Online (Sandbox Code Playgroud)

编辑:对于您需要的完整的四段修订版号:

Me.Text = "V" & .Major & "." & .Minor & "." & .Build & "." & .Revision 
Run Code Online (Sandbox Code Playgroud)

  • 那么如何在开发环境中访问相同的属性呢? (2认同)

Our*_*nas 10

System.Reflection你可以使用:

Dim versionNumber As Version

versionNumber = Assembly.GetExecutingAssembly().GetName().Version
Run Code Online (Sandbox Code Playgroud)

然后.ToString()如果需要就打电话给他......

而另一种方法是打电话

System.Windows.Forms.Application.ProductVersion
Run Code Online (Sandbox Code Playgroud)

(对于完全披露,我在MSDN论坛上发现了这一点)


car*_*gik 5

我知道这是旧的,但在Visual Studio Express 2013中,我遇到了同样的问题.我想使用变量ProductVersion,如下所示:

msgbox (Application.ProductVersion)
Run Code Online (Sandbox Code Playgroud)

但无论我在Publish的设置中放置什么,它总是返回1.0.0.0.我发现我必须把它放在应用程序>汇编>文件版本中(我更新了汇编版本和文件版本,但它是重要的文件版本).

应用程序>组装>文件版本

你可以使用Project> Properties来实现:

项目属性

现在,我只想要主要和次要数字(连接到表单标题)所以我使用了这个:

MsgBox(Application.ProductVersion.Substring(0, 3))
Run Code Online (Sandbox Code Playgroud)

希望这有助于其他人.这是一个很大的挖掘!