1

TFS サーバーでカスタム プロセス テンプレートを作成しています。

プロセス中に次の行を実行して、現在の MMDD に基づいて AssemblyInfo.cs のアセンブリのリビジョン番号を自動的に変更したいと思います。

File.WriteAllText(file, Regex.Replace(File.ReadAllText(file), "(?<=\[assembly: AssemblyFileVersion\(""[0-9]*.[0-9]*.[0-9]*.)[0-9]*(?=""\)\])", Function(m) DateTime.Now.ToString("MMdd")))

残念ながら、ビルド プロセスで VB.NET コードの任意の行を実行する方法がわかりません。「実行」、「実行」などと呼ばれるコード アクティビティはありません。

ラムダ関数を WriteBuildMessage() 呼び出しに挿入してハッキングしようとしましたが、ラムダが許可されていないことがわかりました。

ここに画像の説明を入力

(編集:その式の他の問題が修正された後、「ステートメントラムダは式ツリーに変換できません」というエラーが表示されるだけです-エルゴここでやろうとしていることを実行できません。「File.WriteAllLines " が void ではなく string だった場合、それを返して笑うことができました。)

ビルド プロセスの一部として VB.NET コードの任意の行を実行する方法はありますか?

4

3 に答える 3

0

これを自分で作成しないでください。TFS コミュニティ ビルド ツールに組み込まれている precreate TfsVersion アクティビティを使用する必要があります。

https://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20TfsVersion%20build%20activity&referringTitle=ドキュメント

このツールはすべての面倒な作業を行い、Visual Studio ALM Ranger および MVP によってサポートされています。

于 2014-10-19T17:49:13.693 に答える