Nach dem VSTS Techtalk  / Basta im Februar hänge ich mit meinem
Blog leider ein wenig hinterher....

Aufgeschoben ist nicht aufgehoben :-),
hier habe ich kurz ein Problem bleuchtet, welches man kennen sollte,
sobald man mit TFS Build und dem AssemblyInfo Task arbeitet.

Wenn man Verbose Build logging aktiviert hat, findet man folgenden Eintrag
im Log:

Target "UpdateAssemblyInfoFiles" in file "c:\.... \BuildType\TFSBuild.proj":

Skipping target "UpdateAssemblyInfoFiles"
because all output files are up-to-date with respect to the input files.

PS: Verbose Build logging kann man aktivieren, indem man imTFSBuild.rsp
folgenden Eintrag hinzufügt:

/v:diag

Um den AssemblyInfoTask mit TFSBuild zu verwenden, muss man das File
..\MSBuild\Microsoft\AssemblyInfoTask\Microsoft.VersionNumber.targets
anpassen, da sonst überprüft wird, ob sich ein File vom TimeStamp her
geändert hat und nur dann die Version inkrementiert wird.

Da der TFS Build Prozess  jedesmal die Files in das BuildTemp Dir
auschecked sind die TimeStamps immer gleich, was dazu führt,
dass die Version nicht inkrementiert wird.

Um diesen Check zu deaktivieren, entfernt man aus dem
UpdateAssemblyInfoFiles Target die Inputs und Outputs Einträge:

<Target Name="UpdateAssemblyInfoFiles">

    <AssemblyInfo AssemblyInfoFiles="@(AssemblyInfoFiles)"

           AssemblyMajorVersion="$(AssemblyMajorVersion)"

           AssemblyMinorVersion="$(AssemblyMinorVersion)"

           AssemblyBuildNumber="$(AssemblyBuildNumber)"

           AssemblyRevision="$(AssemblyRevision)"

           AssemblyBuildNumberType="$(AssemblyBuildNumberType)"

           AssemblyBuildNumberFormat="$(AssemblyBuildNumberFormat)"

           AssemblyRevisionType="$(AssemblyRevisionType)"

           AssemblyRevisionFormat="$(AssemblyRevisionFormat)"

           AssemblyFileMajorVersion="$(AssemblyFileMajorVersion)"

           AssemblyFileMinorVersion="$(AssemblyFileMinorVersion)"

           AssemblyFileBuildNumber="$(AssemblyFileBuildNumber)"

           AssemblyFileRevision="$(AssemblyFileRevision)"

           AssemblyFileBuildNumberType="$(AssemblyFileBuildNumberType)"

           AssemblyFileBuildNumberFormat="$(AssemblyFileBuildNumberFormat)"

           AssemblyFileRevisionType="$(AssemblyFileRevisionType)"

           AssemblyFileRevisionFormat="$(AssemblyFileRevisionFormat)"

           ComVisible="$(AssemblyComVisible)"

           AssemblyGuid="$(AssemblyGuid)"

           AssemblyCompany="$(AssemblyCompany)"

           AssemblyConfiguration="$(AssemblyConfiguration)"

           AssemblyCopyright="$(AssemblyCopyright)"

           AssemblyCulture="$(AssemblyCulture)"

           AssemblyDescription="$(AssemblyDescription)"

           AssemblyProduct="$(AssemblyProduct)"

           AssemblyTitle="$(AssemblyTitle)"

           AssemblyIncludeSigningInformation="$(AssemblyIncludeSigningInformation)"

           AssemblyDelaySign="$(AssemblyDelaySign)"

           AssemblyKeyFile="$(AssemblyKeyFile)"

           AssemblyKeyName="$(AssemblyKeyName)">

<Output TaskParameter="MaxAssemblyVersion" PropertyName="MaxAssemblyVersion"/>

<Output TaskParameter="MaxAssemblyFileVersion" PropertyName="MaxAssemblyFileVersion"/>

</AssemblyInfo>

</Target>

 

Viel  Spass,

Chris