簡體   English   中英

獲取Visual Studio變更集作為修訂的一部分

[英]Get Visual Studio changeset as part of the revision

多年來,我一直在使用Subversion。 我發布的軟件版本號的格式為XXX {SVN REV},我在Visual Studio中使用一個預構建事件來填充ac#修訂文件:

namespace Revision
{
    internal static class Svnstrings
    {
        static public int WCREV = 1959;
        static public string WCDATE = "2017/12/08 21:48:52";
        static public string WCNOW = "2017/12/28 14:01:35";
        static public string WCRANGE = "1949:1959";
        static public string WCMIXED = "Mixed update revision";
        static public string WCMODS = "Modified";
        static public string WCURL = "https://app.deveo.com/SrcCtrl/projects/myProject/repositories/subversion/myProject/trunk/mySource/myProject/Revision";
        static public string WCINSVN = "Versioned";
        static public string WCNEEDSLOCK = "Lock not required";
        static public string WCISLOCKED = "Not Locked";
        static public string WCLOCKDATE = "1970/01/01 00:00:00";
        static public string WCLOCKOWNER = "";
        static public string WCLOCKCOMMENT = "";
    }
}

我最近將我的源代碼控制切換到Visual Studio TFS,我想做類似的事情,在WCREV中獲取更改集值。

在使用Subversion十多年后,仍然可以學習復雜的代碼,但仍然可以學習新的源代碼控制,並且仍然可以學習基礎知識,也許有人有更好的主意。

與SVN不同,我們沒有隨TFS WCREV.exe安裝WCREV.exe

在TFS中,最簡單的方法是使用內部版本號作為您的版本號。 有一個全局.NET版本控制策略: AssemblyInformationalVersion 您可以使用此策略向軟件添加版本控制。 您可以使用Powershell腳本對程序集進行版本控制。

基於此產品版本,powershell腳本將在后台執行魔術操作,以替換Assembly Info文件中AssemblyVersionAssemblyFileVersionAssemblyInformationalVersion的所有版本控制值。 產品版本將整體傳遞給AssemblyVersion和AssemblyInformationalVersion屬性。 AssemblyFileVersion將替換為完整版本號,該完整版本號將包含產品版本的主要和次要版本號,基於儒略語的日期和遞增的內部版本號

在此處輸入圖片說明

對於匯編文件版本= 2.7.15169.03的含義

  • 2 =>取自“主要”產品版本
  • 7 =>取自“次要”產品版本
  • 15169 =>由構建過程生成:“ 15” = 2015年,“ 169” = 2015年
  • 3 =>第三版,於2015年第169天運行

有關更多詳細信息,您可以查看以下精彩文章: TFS Build 2015…和版本控制! 以及類似的主題vNext增強功能–管理版本號


至於您要獲取/設置裝配信息中的變更​​集編號。

您可以使用$(Build.SourceVersion)版本號格式的$(Build.SourceVersion)來實現,例如

$(BuildDefinitionName)_$(date:yyyyMMdd)_$(Build.BuildId).$(Build.SourceVersion)$(rev:.r)

但是,此$(Build.SourceVersion)僅在提交時(在持續集成中)自動觸發生成時才起作用。原因是在運行手動生成時,必須輸入Source Version字段才能進行填充。 有關更多詳細信息,請檢查以下內容: VSO vNext Build中的Build.SourceVersion為空白

您還可以使用PowerShell腳本獲取源版本變更集編號,並將其應用到內部版本號或AssemblyInfo中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM