Создание версии информации о сборке за барьером UInt16 - PullRequest
2 голосов
/ 25 мая 2011

В прошлом я обычно использовал набор изменений или номер SVN для версии двоичного файла, например. 1.1.123.3 где большое число - это набор изменений или обороты из системы контроля версий. Тем не менее, с системой, которую я сейчас использую, мы преодолели барьер uint примерно с 70000+ наборами изменений, что вызывает переполнение и ошибку компилятора при использовании в качестве атрибута версии ассемблера или атрибута версии файла сборки. Увидеть: http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.aspx

Какие-нибудь альтернативные стратегии, которые все еще связывают бинарный код с набором изменений?

Я адаптировал свою задачу, чтобы использовать приведенное решение:

<Target Name="Version">
    <!-- Changeset exceeds u16int so cannot be used in Versioninfo-->
    <Attrib   ReadOnly="false" Files="$(VersionFile)"/>
    <!--Assembly version must be made of uint16 this means that the version number must less than 65536-->
    <!-- current changest is way past this so i will make the number changset-50000 and add a number -->
    <!-- so 70000 becomes 20000.1 and 100001 becomes 1.2-->
    <PropertyGroup>
        <Version>$(Branch).$([MSBuild]::Subtract($(ChangeSet),$(Offset))).$(OffsetCount)</Version>
    </PropertyGroup>
    <AssemblyInfo CodeLanguage="CS"
         OutputFile="$(VersionFile)"
         AssemblyCompany="$(Company)"
         AssemblyProduct="$(Product)"
         AssemblyCopyright="$(Copyright)"
         AssemblyVersion="$(Version)"/>

    <Attrib   ReadOnly="true" Files="$(VersionFile)"/>
</Target>

1 Ответ

5 голосов
/ 25 мая 2011

Вы можете переворачивать и перезапускать с 0, чтобы ревизия выглядела как revision = 70000 % 50000.

Также вы можете использовать build как часть ревизии контроля версий, например build = 70000 / 50000.

В результате в этом примере это будет x.x.1.20000.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...