Я пытаюсь автоматизировать процесс установки версии для всех библиотек DLL, потратив некоторое время, я узнал задачу AssemblyInfo
, с помощью которой она, скорее всего, может быть достигнута.
Итак, я установил его, а именно версию 1.0.51130.0 .
После установки я вручную добавил тег Import
(путем выгрузки каждого проекта) AssemblyInfoTask
в .cspoj
файлах (решение имеет более 35 файлов proj).
<Import Project="$(MSBuildExtensionsPath)\Microsoft\AssemblyInfoTask\Microsoft.VersionNumber.Targets"/>
Далее я изменил файл Microsoft.VersionNUmber.Target
, который будет установлен по пути: C:\Program Files\MSBuild\Microsoft\AssemblyInfoTask
, и изменил следующий раздел:
<!-- Properties for controlling the Assembly Version -->
<PropertyGroup>
<AssemblyMajorVersion>4</AssemblyMajorVersion>
<AssemblyMinorVersion>0</AssemblyMinorVersion>
<AssemblyBuildNumber></AssemblyBuildNumber>
<AssemblyRevision></AssemblyRevision>
<AssemblyBuildNumberType>DateString</AssemblyBuildNumberType>
<AssemblyBuildNumberFormat>01MMdd</AssemblyBuildNumberFormat>
<AssemblyRevisionType>AutoIncrement</AssemblyRevisionType>
<AssemblyRevisionFormat>00</AssemblyRevisionFormat>
</PropertyGroup>
<!-- Properties for controlling the Assembly File Version -->
<PropertyGroup>
<AssemblyFileMajorVersion>4</AssemblyFileMajorVersion>
<AssemblyFileMinorVersion>0</AssemblyFileMinorVersion>
<AssemblyFileBuildNumber></AssemblyFileBuildNumber>
<AssemblyFileRevision></AssemblyFileRevision>
<AssemblyFileBuildNumberType>DateString</AssemblyFileBuildNumberType>
<AssemblyFileBuildNumberFormat>01MMdd</AssemblyFileBuildNumberFormat>
<AssemblyFileRevisionType>AutoIncrement</AssemblyFileRevisionType>
<AssemblyFileRevisionFormat>00</AssemblyFileRevisionFormat>
</PropertyGroup>
Далее я установил версию файла assemblyInfo.cs
на 1.0.0.0
в каждом проекте. Наконец я сохранил и закрыл его, заново открыл решение и собрал. Работает как чемпион!
Теперь нужно настроить версию на 4.0.1053.1
, где 10
- это указатель части года, который равен 2010, а 53
обозначает номер недели, наконец 1
обозначает номер редакции.
Как этого добиться с помощью задачи AssemblyInfo
? Я сталкивался с несколькими сообщениями, что новая версия AssemblyInfo
Task доступна в Build Extension Pack.
Я установил MSBuild Extension Pack Декабрь 2010 и его версия MSBuild Extension Pack 4.0.2.0 Установщик