私はビルド プロセスを自動化するツールに取り組んでいます。これはまだ開発中であり、オープン ソースです。リンクは次のとおりです (約 1 週間でリリースを計画しています)。
https://github.com/jupaol/NCastor
ここで、セマンティック バージョニングを確認することをお勧めします。
http://semver.org/
TFS から最新の変更セットを取得するには、いくつかのオプションがあります。
これを行うためのカスタムルーチンを作成しました
https://github.com/jupaol/NCastor/blob/develop/Solutions/NCastor.AutoBuilder/NCastor.AutoBuilder.Runner/Targets/Build/Versioning/VersionControlServers/TFS/GetTFSRevisionVersion.target
コミュニティ タスクと MSBuild 拡張タスクが 64 ビット マシンで動作しなかったため、そのルーチンをビルドする必要がありました。ビルドに 32 ビット マシンを使用している場合は、次のタスクを使用できます。
http://msbuildextensionpack.codeplex.com/ の使用
<UsingTask AssemblyFile="$(ExtensionTasksPath)MSBuild.ExtensionPack.dll" TaskName="MSBuild.ExtensionPack.VisualStudio.TfsVersion"/>
http://msbuildtasks.tigris.org/ の使用
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Tfs.TfsVersion" />
異なるバージョンを設定する例:
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AssemblyInfo" />
<MSBuild.Community.tasks.AssemblyInfo OutputFile="$(AssemblyVersionFilePath)"
CodeLanguage="C#"
AssemblyFileVersion="$(FileVersion)"
AssemblyInformationalVersion="$(InformationalVersion)"
AssemblyVersion="$(SemanticVersion)" />
ファイルを作成したら、そのファイルを各プロジェクトへのリンクとして追加するだけです。すべてのプロジェクトが共通のアセンブリ情報を共有しています。