Question

I have two TFS 2010 build definitions that I use for nightly builds and that have a schedule trigger:

  1. Build 1 builds a solution that outputs some binary dependencies (dll files) and uses Dependency Replication to check these files into another solutions Lib folder. The files are checked in with the comment: Dependency Replication ***NO_CI***

  2. Build 2 builds a second solution that uses the dlls generated by build 1.

The problem is that when Build 2 is triggered as scheduled it does not include the latest binaries generated by Build 1. As part of my debugging I have confirmed that:

  • The binaries from Build 1 are created as expected
  • The binaries from Build 1 are checked-in to the correct path for the second solution

If I manually trigger Build 2 without making any other changes then it correctly uses the latest files that are checked into the Lib directory by Build 1.

Is there any difference between a manual trigger and a scheduled trigger? I have seen mentioned in other articles that the problem may be related to workspaces without finding any solutions related to that.

Was it helpful?

Solution

I resolved this problem by selecting Build even if nothing has changed since the previous build as part of the Schedule trigger:

enter image description here

Even though something has changed (the dlls from Build 1 checked in) and the build has been running as scheduled it seems that by checking this option it forced TFS to get all source code including the dlls that it was not getting earlier and rebuild.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top