Ok so I have to admit, I'm very new to all of this build automation stuff. But basically what I'm wondering is if there is a way to wire up my build definitions in such a way that if I have a case like so
- ProjectA produces ComponentA.dll
- ProjectB references ComponentA.dll and produces ComponentB.dll
- ProjectC references ComponentB.dll
then when I make changes to ProjectA and check them in, the build process would automatically also build ProjectB, and finally ProjectC, and report any errors.
So is there a way to accomplish this, or should this type of thing be handled somehow completely differently in the first place?
The process you are referring to is the crux of the practice known as Continuous Integration.
TFS does it very well: simply set your build definition Trigger
to Continuous Integration
and set the Workspace
working folder to the parent folder of the three projects. This way, any change in one of the projects will trigger a build.
You can use a visual studio solution and use project references between the projects. Then build the solution on your build server.
来源:https://stackoverflow.com/questions/13497295/tfs-2012-automatically-build-projects-that-depend-on-current-one