2016-01-15 25 views
2

我想在我的標題欄上顯示當前的BUILD信息。 (main_form.txt)。我想在我的標題欄上顯示當前的BUILD信息

我已經看到幾個參考找到它,但沒有人給我我想要的數據。

我的項目是一個相當簡單的Visual Studio速成2015年,贏得窗體應用程序.NET 4.5

當我看到在性能/發表我看到版本是currenly 1.0.0.13 並會增加每個發佈我做。

我在哪裏可以得到這些變量?

我在bbox2.exe.manifest文件下面一行看到....

asmv1:assemblyIdentity名稱= 「bbox2.exe」 版本= 「1.0.0.13」 公鑰= 「1d053a5b342cefc4」 LANGUAGE =」中性」 ........

在另一篇文章下面表明我已經試過..

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?

任何和所有的建議表示讚賞。

+3

的可能的複製[我如何在.NET應用程序的當前發佈的版本?(HTTP://計算器.com/questions/1248824/how-do-i-get-the-current-published-version-in-a-net-application) – sstan

+0

當您使用點擊一次發佈應用程序時,*發佈版本*可用,否則您可以在* My Project *文件夾下的'AssemblyInfo.vb'中使用'AssemblyVersion'的值。 與發佈版本一樣,您可以使用''或'>自動增加程序集版本。將主版本,次版本和版本更改爲合適的值。 –

+0

** OP:[我沒有使用點擊一次。](http://stackoverflow.com/questions/34821037/i-want-to-show-the-current-build-info-on-my-title-bar #comment57389157_34821632)**所以你應該知道如果你不使用點擊一次,當然你應該使用'AssemblyVersion',你也應該通過改變'AssemblyVersion'到'AssemblyVersion(「。*」)>'那麼獲取足夠的版本就可以使用'Assembly.GetExecutingAssembly()。GetName()。Version.ToString()' –

回答

2

Publish Version是可用的,當你使用點擊一次發佈的應用程序,否則你可以My Project文件夾下使用的AssemblyVersionAssemblyInfo.vb值。

與發佈版本一樣,您可以使用<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() 

或顯示自定義forma版本T,你可以使用MajorMinorBuildRevision,例如顯示版本升級到版本號:

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

編輯

OP:I am not using click once.

所以你應使用AssemblyVersionAssemblyInfo.vb下的My Project文件夾並使其自動增量通過將其更改爲<Assembly: AssemblyVersion("1.0.*")>。然後你就可以得到的版本是這樣的:

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

不要忘記Imports System.Reflection

+0

對不起,我只是一個noob玩弄一個小的「找到目標」類型的遊戲。 我正在使用一些朋友來進行beta測試,並且想要一個簡單的 方法來查看他們正在測試的構建版本。 我沒有使用點擊一次。 我沒有添加導入作爲main_form.vb代碼文件中的第一行。 也粘貼在您的財產代碼。在物業我收到一個錯誤 彙編說明未宣佈.. 我做錯了什麼或忘記了什麼? – Willie

+0

對不起,不過那不工作,,, from assemblyinfo.vb - '你可以指定所有的值,或者你可以默認構建和修訂號 '通過使用'*'作爲如下圖所示: <彙編:的AssemblyVersion( 「1.0 *。」)> 「<組裝:的AssemblyVersion( 「1.0.0.0」)> <彙編:的AssemblyFileVersion( 「1.0.0.0」)> 和main_form - Me.Text = Assembly.GetExecutingAssembly().GetName()。Version.ToString() 程序集突出顯示並給出錯誤'程序集未聲明「... – Willie

+0

程序集位於System.Reflection命名空間中。 e您閱讀我的意見和編輯部分的答案,並使用正確的彙編格式。 –

相關問題