Estoy usando el MSBuild Community Task library para obtener la versión actual de SVN un conjunto que en mis archivos AssemblyInfo para obtener la revisión en el dll compilado final.Cómo configurar el número de versión de SVN en .NET dll utilizando la biblioteca de tarea de comunidad de MSBuild correctamente
Como sabes, la versión SVN puede ser como "28" o "28M" - si hay modificaciones. Si hago un mensaje MSBuild y saco la propiedad Revisión, veo que recibo un 28M después de la modificación, pero al actualizar el AsseblyInfo sigo obteniendo solo 28 en el número de versión ...?
Me gustaría tener el 28M en el número de versión para indicar que el dll está construido usando una modificación sin verificación. ¿Cómo puedo hacer que funcione?
<Target Name="Compile">
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(SvnTool)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<ItemGroup>
<AssemblyInfoFiles Include="x.a\Properties\AssemblyInfo.cs" />
<AssemblyInfoFiles Include="x.b\Properties\AssemblyInfo.cs" />
</ItemGroup>
<FileUpdate Files="@(AssemblyInfoFiles)"
Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)"
ReplacementText="$(MajorVersion).$(MinorVersion).$(Revision).0" />
<MSBuild Projects="$(MSBuildProjectDirectory)\ConfigExplorer.sln" Targets="Rebuild" Properties="Configuration=$(BuildType);" />
No puede tener 28M como número de revisión porque la revisión se declara como 'int' en la clase de Versión : 'public int Revision {get; } ' Pero puede usar, por ejemplo, el atributo AssemblyInformationalVersionAttribute para almacenar el texto que desee. –