2017-12-28 90 views
0

私は何年も前からSubversionを使用してきました。マイリリースされたソフトウェアのバージョン番号は形式XXX {SVNのREV}であり、Iは、AC#リビジョンファイル移入するVisual Studioでビルド前のイベントを使用します。リビジョンの一部としてVisual Studioのチェンジセットを取得する

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を10年以上使用しても、複雑ではあるがまだ新しいソース管理を学んだことがありますが、まだ基本を学んでいる人がいるかもしれません。

+1

「アセンブリ情報」というTFS拡張機能を使用して、TFSビルド定義のアセンブリにチェンジセット番号を設定します。私たちはどこにでもコードを設定しませんが、現在のアセンブリバージョンが何であっても参照しています。 – KSib

答えて

1

SVNとは異なり、TFSにはWCREV.exeがインストールされていません。

最も簡単な方法は、ビルド番号をバージョン番号として使用することです。グローバル.NETのバージョン管理方針:AssemblyInformationalVersionがあります。この戦略を使用して、ソフトウェアにバージョン管理を追加することができます。アセンブリにバージョンを適用するには、powershell scriptを使用します。

PowerShellスクリプトは、この製品のバージョンに基づいて、アセンブリ情報ファイルにのAssemblyVersionAssemblyFileVersionAssemblyInformationalVersionため すべてのバージョン管理値を置き換えるために、バックグラウンドで魔法を行います。製品バージョンは、AssemblyVersionおよびAssemblyInformationalVersion属性を に渡します。 AssemblyFileVersionは、フルバージョン番号 に置き換えられ、 製品バージョンのメージャーバージョンとマイナーバージョン番号、ユリウスベースの日付、インクリメンタルビルド番号で構成されます。

enter image description here

総会の意味について= 2.7.15169.03

  • 2 =>「メジャー」の製品版から取ら
  • 7 =>から取られたファイルバージョン"マイナー"製品バージョン
  • 15169 =>ビルドプロセスによって生成された: "15" =年2 015、「169」=今年の日2015
  • 3 =>第三のビルド、あなたがこの偉大なポストを見てかかることがあります年の日169の詳細については、2015

を実行します。TFS Build 2015 … and versioning!をして、この同様のトピックあなたのアセンブリ情報で設定/チェンジ番号を取得したいためとして


あなたが構築しますが(継続的インテグレーションに)コミット時に自動的にトリガされたときしかし、この$(Build.SourceVersionが)のみ動作し、そのような

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

として、これを達成するために、あなたのビルド番号の形式で$(Build.SourceVersion)を使用することができます手動ビルドを実行すると、ソースバージョンフィールドを入力する必要があります。詳細はこちらをご確認ください:Build.SourceVersion is blank in VSO vNext Build

また、PowerShellスクリプトを使用してソースバージョンチェンジセット番号を取得し、ビルド番号またはAssemblyInfoに適用することもできます。

+0

TFSは '$(Rev:.rr)'を使って、完成したすべてのビルドが一意の名前を持つようにしています。ビルドが完了すると、ビルド番号の何も変更されていなければ、Revの整数値は自動的に1だけインクリメントされます。ソースリンク:https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/options#build-number-format –

関連する問題