【问题标题】:I want to show the current BUILD info on my title bar我想在我的标题栏上显示当前的 BUILD 信息
【发布时间】:2016-01-15 22:36:51
【问题描述】:

我想在我的标题栏上显示当前的 BUILD 信息。 (main_form.txt)。

我已经看到了几个关于找到它的参考,但没有一个给我我想要的数据。

我的项目是一个相当简单的visual studio express 2015,win forms app .net 4.5

当我查看属性/发布时,我看到构建当前是 1.0.0.13 并且会增加我每次发布的次数。

我在哪里可以得到这些变量?

我在 bbox2.exe.manifest 文件中看到以下行......

asmv1:assemblyIdentity name="bbox2.exe" version="1.0.0.13" publicKeyToken="1d053a5b342cefc4" language="neutral" ......

我已按照以下另一篇文章中的建议进行了尝试..

    Dim ass As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
    Dim ver As System.Version = ass.GetName().Version
    Me.Text = ("BlacBox" & ver.Major & "." & ver.Minor & "." & ver.Revision & "." & ver.Build)

但这总是让我得到 1.0.0.0 ??

任何和所有建议都表示赞赏。

【问题讨论】:

  • 发布版本在你点击一次发布应用时可用,否则你可以使用我的项目AssemblyInfo.vb中AssemblyVersion的值/i> 文件夹。与发布版本一样,您可以使用<Assembly: AssemblyVersion("1.0.*")><Assembly: AssemblyVersion("1.0.0.*")> 设置程序集版本也自动增加。您还可以将主要、次要和构建版本更改为合适的值。
  • OP: I am not using click once. 所以你应该知道如果你不使用点击一次,你当然应该使用AssemblyVersion,并且你应该通过改变@使其自动递增987654329@ 到AssemblyVersion("1.0.*")> 然后获取版本就足够了 使用Assembly.GetExecutingAssembly().GetName().Version.ToString()
  • @sstan 虽然链接的问题很有用,但它不是这个问题的重复。在这里,操作员没有使用单击一次,他需要知道他可以通过单击一次或非单击一次方式获取版本的方式之间有什么区别。他还需要使程序集版本自动增加。我认为这个问题的问题和答案是完全不同的,对未来的读者很有用。

标签: .net vb.net winforms visual-studio


【解决方案1】:

Publish Version在你点击一次发布应用时可用,否则你可以使用AssemblyInfo.vb文件夹下AssemblyInfo.vbAssemblyVersion的值。

与发布版本一样,您可以使用<Assembly: AssemblyVersion("1.0.*")><Assembly: AssemblyVersion("1.0.0.*")> 设置程序集版本也自动增加。您还可以将主要、次要和构建版本更改为合适的值。

您可以通过这种方式创建一个返回版本字符串的属性:

Public ReadOnly Property ApplicationVersion As Version
    Get
        If (ApplicationDeployment.IsNetworkDeployed) Then
            Return ApplicationDeployment.CurrentDeployment.CurrentVersion
        Else
            Return Assembly.GetExecutingAssembly().GetName().Version
        End If
    End Get
End Property

不要忘记添加对System.Deployment 程序集的引用并将导入命名空间添加到代码中:

Imports System.Deployment.Application

那么你可以使用:

Me.Text = ApplicationVersion.ToString()

或以自定义格式显示版本,您可以使用MajorMinorBuildRevision,例如显示版本号:

Me.Text = String.Format("{0}.{1}.{2}", _
          ApplicationVersion.Major, ApplicationVersion.Minor, ApplicationVersion.Build)

编辑

操作:I am not using click once.

因此您应该在My Project 文件夹下的AssemblyInfo.vb 中使用AssemblyVersion,并通过将其更改为<Assembly: AssemblyVersion("1.0.*")> 使其自动递增。然后你可以通过这种方式获取版本:

Me.Text = Assembly.GetExecutingAssembly().GetName().Version.ToString()

别忘了Imports System.Reflection

【讨论】:

  • 对不起,我只是一个玩“寻找目标”类型小游戏的菜鸟。我正在使用一些朋友进行 beta 测试,并且想要一种简单的方法来查看他们正在测试的版本。我没有使用点击一次。我确实将导入添加为 main_form.vb 代码文件中的第一行。也粘贴在您的财产代码中。在属性中,我在组装时遇到错误,声明未声明..我做错了什么还是忘记了什么?
  • 很抱歉很痛苦.. 但这也不起作用,,,来自 assemblyinfo.vb-- '您可以指定所有值,也可以使用默认的 Build 和 Revision Numbers ' ' 如下图: ")> ' 并在main_form-- Me.Text = Assembly.GetExecutingAssembly().GetName().Version.ToString() 程序集突出显示并给出错误“未声明程序集”...
  • Assembly 位于 System.Reflection 命名空间中。还要确保你阅读了我的 cmets 和答案的编辑部分,并使用正确的汇编版本格式。
  • from assemblyinfo.vb-- {Imports System Imports System.Reflection Imports System.Runtime.InteropServices Imports System.Deployment.Application ' } 然后在 main_form.vb...3 {Me.Text = Assembly.GetExecutingAssembly().GetName().Version.ToString ()} 程序集突出显示并给出错误“未声明程序集”...
  • 亲爱的@Willie,您唯一应该做的就是在回答中关注 Edit 部分 :) 其余的答案是为未来的读者或当您想了解有关该版本的更多信息时:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 2017-03-04
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
相关资源
最近更新 更多