I need to get the ChangeSetId in tfspreview for our continuous integration. I just need this single number nothing else. I tried all possible MSBuild tasks that I could find, but there is always another smaller issue stopping me.
For MSBuild.ExtensionPack.Tfs.TeamBuild
I get :
Could not load file or assembly 'Microsoft.TeamFoundation.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
and for TfsClient -task
in community-pack (which is generating following exec: tf.exe history . /StopAfter:1 /noprompt /format:detailed /recursive
) I get:
The specified task executable could not be run. The system cannot find the file specified
My question is;
Is it possible to execute TF.exe
on tfspreview server?
or can I get the assembly Microsoft.TeamFoundation.Client
on the build server to execute one of these two tasks?
What exactly does the MSBUILD workflow look like? Are you passing this parameter into MSBUILD or is some custom component grabbing this information while MSBUILD is running?
I've come across the class InformationNodeConverters, which has the method GetAssociatedChangesets that takes in an IBuildDetail and returns a List of IChangesetSummary. This would also require that your changesets already be associated before you get to the MSBUILD task. I'll need to check against my TFSPreview instance tonight to see if I can edit the build template, but I would suspect that you should be able to use something like this.