Я пытаюсь автоматизировать процесс установки Версии для всех 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
Пожалуйста, помогите.