VSTS Build gernerates error CS0647
Sie erzeugen tägliche Builds in VSTS und nutzen den AssemblyInfoTask,
um die File und Assembly Build Version im Format YMMDD zu erzeugen.
Ab 2007 erhalten Sie folgenden Fehler:
CSC(0,0): warning CS1607: Assembly generation --
The version '1.0.70108.0' specified for the 'file version' is not in the normal
'major.minor.build.revision' format Properties\AssemblyInfo.cs(32,12):
error CS0647: Error emitting 'System.Reflection.AssemblyVersionAttribute' attribute --
'The version specified '1.0.70108.0' is invalid'
Ursache hierfür ist die Tatsache, dass ein 16bit Int für die build version verwendet wird
und so ein Limit von 65535 vorliegt. Na dann ist auch klar warum der 8 Jan 2007 = 70108
zum Fehler führt. Warum dies so ist erklärt Neil Enns
Eine Lösung für das Problem ist zum Beispiel das Format zu ändern:
<AssemblyFileBuildNumberType>DateString</AssemblyFileBuildNumberType>
<AssemblyFileBuildNumberFormat>01MMdd</AssemblyFileBuildNumberFormat>
In diesem Fall wird
10108 als build Nummer erzeugt.
Eine andere Option ist eine fortlaufende Build Nummer zu verwenden und auf das
Datum zu verzichten:
<AssemblyFileBuildNumberType>AutoIncrement</AssemblyFileBuildNumberType>
<AssemblyFileBuildNumberFormat>0</AssemblyFileBuildNumberFormat>
Viel Spass
Chris