В моем случае я создал шаблон T4 для изменения AssemblyVersion и AssemblyFileVersion. Я вызвал шаблон Assembly.tt и сделал его связанным файлом (при его добавлении выберите «Добавить ссылку» вместо «Добавить»). Все мои сборки тянут в связанный файл Assembly.tt.
Затем вы можете запустить шаблон T4 из одного места, и он обновит все AssemblyVersion и AssemblyFileVersions. Вам не нужно вызывать файл AssemblyInfo.cs для информации, которая будет извлечена в ваши библиотеки.
Код для файла Assembly.tt:
<#@ template language="C#" hostspecific="true" #>
//
// This code was generated by a tool. Any changes made manually will be lost
// the next time this code is regenerated.
//
using System.Reflection;
[assembly: AssemblyVersion("4.<#= this.RevisionYear #>.<#= this.RevisionNumber #>.<#= this.RevisionTime #>")]
[assembly: AssemblyFileVersion("4.<#= this.RevisionYear #>.<#= this.RevisionNumber #>.<#= this.RevisionTime #>")]
<#+
int RevisionYear = DateTime.UtcNow.Year;
int RevisionNumber = (int)(DateTime.UtcNow - new DateTime(DateTime.UtcNow.Year,1,1)).TotalDays;
int RevisionTime = (int)(DateTime.UtcNow - new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day)).TotalMinutes;
#>
Вывод шаблона T4 выше будет:
//
// This code was generated by a tool. Any changes made manually will be lost
// the next time this code is regenerated.
//
using System.Reflection;
[assembly: AssemblyVersion("4.2016.284.1066")]
[assembly: AssemblyFileVersion("4.2016.284.1066")]