.net - 我想在标题栏上显示当前的构建信息

标签 .net vb.net winforms visual-studio

我想在标题栏上显示当前的构建信息。 (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 ??

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

最佳答案

Publish Version当您使用单击一次发布应用程序时可用,否则您可以使用 AssemblyVersion 的值在AssemblyInfo.vbMy Project文件夹。

与发布版本一样,您可以使用<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()

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

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

编辑

OP: I am not using click once.

所以你应该使用AssemblyVersionAssemblyInfo.vbMy Project文件夹并将其更改为 <Assembly: AssemblyVersion("1.0.*")> 使其自动递增。然后你可以这样获取版本:

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

别忘了Imports System.Reflection

关于.net - 我想在标题栏上显示当前的构建信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34821037/

相关文章:

.net - 消除输入线路上的输出声音

c# - 检查文件是否已在源代码管理中

c# - 如何有效地对HttpWebRequests进行多线程处理?

c# - 如何重新排列上下文菜单条中的项目?

c# - 无法将用户控件放在窗体上

c# - 如何获取字符串中 '#'的计数?

.net - 将 Nullable Integer 设置为 String Containing Nothing 会产生 0

javascript - 是否有从 Visual Basic 到 Javascript 的在线转换器?

asp.net - 从母版页 selectedItems 获取子页数据

c# - OpenFileDialog 中的多个文件扩展名