VSTS Team Builds - Project Build Order

VSTS Beta 3...

I have a single sollution with approximately 10 projects - I need certain projects to build in a particular order. Setting up my project dependencies and building the sollution locally works fine...when I look at the Project Build Order in the Solution...it looks something like this:

A

B

C

D

E

and it succeeds on build.

When I build via Team Builds, the build order ends up like this:

B

A

E

D

C

And it fails on build.

How can I correct this

thanks in advance,

dec.



Answer this question

VSTS Team Builds - Project Build Order

  • JacoE

    Im receiving the same problem. I dont understand why it is building out of order with Team Build.

    Here is the content of my .sln file:
    Microsoft Visual Studio Solution File, Format Version 9.00
    # Visual Studio 2005
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utility", "Utility\Utility.csproj", "{D9B3964E-93B3-4128-83B1-3C1439F182FD}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KernelTest", "KernelTest\KernelTest.csproj", "{7B807268-B01B-43C4-A034-A47E6B98B3F0}"
    EndProject
    Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9B20CA82-C6A6-4786-AB06-8D83CAAF5081}"
    ProjectSection(SolutionItems) = preProject
    MARS_Platform.vsmdi = MARS_Platform.vsmdi
    MARS_Platform1.vsmdi = MARS_Platform1.vsmdi
    MARS_Platform2.vsmdi = MARS_Platform2.vsmdi
    TestRunConfig1.testrunconfig = TestRunConfig1.testrunconfig
    EndProjectSection
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestShell", "TestShell\TestShell.csproj", "{5F121AEB-51EC-4455-B3CC-AF87C7380722}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kernel", "Kernel\Kernel.csproj", "{06E46777-162B-4B71-B464-FE0D708E9765}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "Model\Model.csproj", "{83A6743A-C816-4211-A205-A7062AC4180C}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestModel", "TestModel\TestModel.csproj", "{4C36FA40-4377-4D49-B1D9-47670A0BBC32}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Workflow", "Workflow\Workflow.csproj", "{FBFA995B-C0F7-41D6-A523-2A86C411B9BC}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkflowTest", "WorkflowTest\WorkflowTest.csproj", "{7EAE4A6C-82F9-41BE-ADEB-E24C5BD54B86}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pipeline", "Pipeline\Pipeline.csproj", "{B84BF6E4-03A0-4C50-8A0F-5B84F4862428}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PipelineTest", "PipelineTest\PipelineTest.csproj", "{64F18BE6-7A3E-41AE-88FC-7B4113F6DC14}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controller", "Controller\Controller.csproj", "{165CE223-D865-4031-A3BD-05E9575AC420}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PipelineFilters", "PipelineFilters\PipelineFilters.csproj", "{425C807C-D086-476F-96FE-052F71169DBC}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActionExecuter", "ActionExecuter\ActionExecuter.csproj", "{68DC54B3-0995-45F0-A8AD-36838A53A925}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActionExecuterTest", "ActionExecuterTest\ActionExecuterTest.csproj", "{40512787-9C84-4D77-A271-61114924D5AE}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlTransform", "ControlTransform\ControlTransform.csproj", "{05146450-AA7D-450C-8142-7ECD2E211A9A}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Specification", "Specification\Specification.csproj", "{CB58B70B-649A-41E0-9BA3-519E028721DC}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpecificationTest", "SpecificationTest\SpecificationTest.csproj", "{865472AF-E9DF-4310-BD1C-40159415128C}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogManager", "..\Common\LogManager\LogManager.csproj", "{0063B434-8E0A-4F58-BA60-F572FFC449BA}"
    EndProject
    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RulesFramework", "RulesFramework\RulesFramework.csproj", "{EBCDED95-1D1F-4966-BEA8-885BE86324DC}"
    EndProject
    Global
    GlobalSection(TeamFoundationVersionControl) = preSolution
    SccNumberOfProjects = 20
    SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
    SccTeamFoundationServer =
    http://daleng01:8080/
    SccLocalPath0 = .
    SccProjectUniqueName1 = Kernel\\Kernel.csproj
    SccProjectName1 = Kernel
    SccLocalPath1 = Kernel
    SccProjectUniqueName2 = Utility\\Utility.csproj
    SccProjectName2 = Utility
    SccLocalPath2 = Utility
    SccProjectUniqueName3 = KernelTest\\KernelTest.csproj
    SccProjectName3 = KernelTest
    SccLocalPath3 = KernelTest
    SccProjectUniqueName4 = TestShell\\TestShell.csproj
    SccProjectName4 = TestShell
    SccLocalPath4 = TestShell
    SccProjectUniqueName5 = ..\\Matching\\Matching.csproj
    SccProjectName5 = ../Matching
    SccLocalPath5 = ..\\Matching
    SccProjectUniqueName6 = Model\\Model.csproj
    SccProjectName6 = Model
    SccLocalPath6 = Model
    SccProjectUniqueName7 = TestModel\\TestModel.csproj
    SccProjectName7 = TestModel
    SccLocalPath7 = TestModel
    SccProjectUniqueName8 = Workflow\\Workflow.csproj
    SccProjectName8 = Workflow
    SccLocalPath8 = Workflow
    SccProjectUniqueName9 = WorkflowTest\\WorkflowTest.csproj
    SccProjectName9 = WorkflowTest
    SccLocalPath9 = WorkflowTest
    SccProjectUniqueName10 = Pipeline\\Pipeline.csproj
    SccProjectName10 = Pipeline
    SccLocalPath10 = Pipeline
    SccProjectUniqueName11 = PipelineTest\\PipelineTest.csproj
    SccProjectName11 = PipelineTest
    SccLocalPath11 = PipelineTest
    SccProjectUniqueName12 = Controller\\Controller.csproj
    SccProjectName12 = Controller
    SccLocalPath12 = Controller
    SccProjectUniqueName13 = PipelineFilters\\PipelineFilters.csproj
    SccProjectName13 = PipelineFilters
    SccLocalPath13 = PipelineFilters
    SccProjectUniqueName14 = ActionExecuter\\ActionExecuter.csproj
    SccProjectName14 = ActionExecuter
    SccLocalPath14 = ActionExecuter
    SccProjectUniqueName15 = ActionExecuterTest\\ActionExecuterTest.csproj
    SccProjectName15 = ActionExecuterTest
    SccLocalPath15 = ActionExecuterTest
    SccProjectUniqueName16 = ControlTransform\\ControlTransform.csproj
    SccProjectName16 = ControlTransform
    SccLocalPath16 = ControlTransform
    SccProjectUniqueName17 = Specification\\Specification.csproj
    SccProjectName17 = Specification
    SccLocalPath17 = Specification
    SccProjectUniqueName18 = SpecificationTest\\SpecificationTest.csproj
    SccProjectName18 = SpecificationTest
    SccLocalPath18 = SpecificationTest
    SccProjectUniqueName19 = ..\\Common\\LogManager\\LogManager.csproj
    SccProjectName19 = ../Common/LogManager
    SccLocalPath19 = ..\\Common\\LogManager
    SccProjectUniqueName20 = RulesFramework\\RulesFramework.csproj
    SccProjectName20 = RulesFramework
    SccLocalPath20 = RulesFramework
    EndGlobalSection
    GlobalSection(TestCaseManagementSettings) = postSolution
    CategoryFile = MARS_Platform2.vsmdi
    EndGlobalSection
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
    Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {D9B3964E-93B3-4128-83B1-3C1439F182FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {D9B3964E-93B3-4128-83B1-3C1439F182FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {D9B3964E-93B3-4128-83B1-3C1439F182FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {D9B3964E-93B3-4128-83B1-3C1439F182FD}.Release|Any CPU.Build.0 = Release|Any CPU
    {7B807268-B01B-43C4-A034-A47E6B98B3F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {7B807268-B01B-43C4-A034-A47E6B98B3F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {7B807268-B01B-43C4-A034-A47E6B98B3F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {7B807268-B01B-43C4-A034-A47E6B98B3F0}.Release|Any CPU.Build.0 = Release|Any CPU
    {5F121AEB-51EC-4455-B3CC-AF87C7380722}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {5F121AEB-51EC-4455-B3CC-AF87C7380722}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {5F121AEB-51EC-4455-B3CC-AF87C7380722}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {5F121AEB-51EC-4455-B3CC-AF87C7380722}.Release|Any CPU.Build.0 = Release|Any CPU
    {06E46777-162B-4B71-B464-FE0D708E9765}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {06E46777-162B-4B71-B464-FE0D708E9765}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {06E46777-162B-4B71-B464-FE0D708E9765}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {06E46777-162B-4B71-B464-FE0D708E9765}.Release|Any CPU.Build.0 = Release|Any CPU
    {83A6743A-C816-4211-A205-A7062AC4180C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {83A6743A-C816-4211-A205-A7062AC4180C}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {83A6743A-C816-4211-A205-A7062AC4180C}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {83A6743A-C816-4211-A205-A7062AC4180C}.Release|Any CPU.Build.0 = Release|Any CPU
    {4C36FA40-4377-4D49-B1D9-47670A0BBC32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {4C36FA40-4377-4D49-B1D9-47670A0BBC32}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {4C36FA40-4377-4D49-B1D9-47670A0BBC32}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {4C36FA40-4377-4D49-B1D9-47670A0BBC32}.Release|Any CPU.Build.0 = Release|Any CPU
    {FBFA995B-C0F7-41D6-A523-2A86C411B9BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {FBFA995B-C0F7-41D6-A523-2A86C411B9BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {FBFA995B-C0F7-41D6-A523-2A86C411B9BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {FBFA995B-C0F7-41D6-A523-2A86C411B9BC}.Release|Any CPU.Build.0 = Release|Any CPU
    {7EAE4A6C-82F9-41BE-ADEB-E24C5BD54B86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {7EAE4A6C-82F9-41BE-ADEB-E24C5BD54B86}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {7EAE4A6C-82F9-41BE-ADEB-E24C5BD54B86}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {7EAE4A6C-82F9-41BE-ADEB-E24C5BD54B86}.Release|Any CPU.Build.0 = Release|Any CPU
    {B84BF6E4-03A0-4C50-8A0F-5B84F4862428}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {B84BF6E4-03A0-4C50-8A0F-5B84F4862428}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {B84BF6E4-03A0-4C50-8A0F-5B84F4862428}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {B84BF6E4-03A0-4C50-8A0F-5B84F4862428}.Release|Any CPU.Build.0 = Release|Any CPU
    {64F18BE6-7A3E-41AE-88FC-7B4113F6DC14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {64F18BE6-7A3E-41AE-88FC-7B4113F6DC14}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {64F18BE6-7A3E-41AE-88FC-7B4113F6DC14}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {64F18BE6-7A3E-41AE-88FC-7B4113F6DC14}.Release|Any CPU.Build.0 = Release|Any CPU
    {165CE223-D865-4031-A3BD-05E9575AC420}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {165CE223-D865-4031-A3BD-05E9575AC420}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {165CE223-D865-4031-A3BD-05E9575AC420}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {165CE223-D865-4031-A3BD-05E9575AC420}.Release|Any CPU.Build.0 = Release|Any CPU
    {425C807C-D086-476F-96FE-052F71169DBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {425C807C-D086-476F-96FE-052F71169DBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {425C807C-D086-476F-96FE-052F71169DBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {425C807C-D086-476F-96FE-052F71169DBC}.Release|Any CPU.Build.0 = Release|Any CPU
    {68DC54B3-0995-45F0-A8AD-36838A53A925}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {68DC54B3-0995-45F0-A8AD-36838A53A925}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {68DC54B3-0995-45F0-A8AD-36838A53A925}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {68DC54B3-0995-45F0-A8AD-36838A53A925}.Release|Any CPU.Build.0 = Release|Any CPU
    {40512787-9C84-4D77-A271-61114924D5AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {40512787-9C84-4D77-A271-61114924D5AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {40512787-9C84-4D77-A271-61114924D5AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {40512787-9C84-4D77-A271-61114924D5AE}.Release|Any CPU.Build.0 = Release|Any CPU
    {05146450-AA7D-450C-8142-7ECD2E211A9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {05146450-AA7D-450C-8142-7ECD2E211A9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {05146450-AA7D-450C-8142-7ECD2E211A9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {05146450-AA7D-450C-8142-7ECD2E211A9A}.Release|Any CPU.Build.0 = Release|Any CPU
    {CB58B70B-649A-41E0-9BA3-519E028721DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {CB58B70B-649A-41E0-9BA3-519E028721DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {CB58B70B-649A-41E0-9BA3-519E028721DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {CB58B70B-649A-41E0-9BA3-519E028721DC}.Release|Any CPU.Build.0 = Release|Any CPU
    {865472AF-E9DF-4310-BD1C-40159415128C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {865472AF-E9DF-4310-BD1C-40159415128C}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {865472AF-E9DF-4310-BD1C-40159415128C}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {865472AF-E9DF-4310-BD1C-40159415128C}.Release|Any CPU.Build.0 = Release|Any CPU
    {0063B434-8E0A-4F58-BA60-F572FFC449BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {0063B434-8E0A-4F58-BA60-F572FFC449BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {0063B434-8E0A-4F58-BA60-F572FFC449BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {0063B434-8E0A-4F58-BA60-F572FFC449BA}.Release|Any CPU.Build.0 = Release|Any CPU
    {EBCDED95-1D1F-4966-BEA8-885BE86324DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EBCDED95-1D1F-4966-BEA8-885BE86324DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {EBCDED95-1D1F-4966-BEA8-885BE86324DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {EBCDED95-1D1F-4966-BEA8-885BE86324DC}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
    HideSolutionNode = FALSE
    EndGlobalSection
    EndGlobal


  • J-P

    Team Build does the building at the solution level only. Hence, the local and Team Build behavior should match.

    Can you double check that you are building the same platform-configuration combination locally that you are building inside Team Build If yes, then please paste the contents of .sln file for further investigation.

    Thanks,

    Gautam


  • josorio

    Problem fixed.

    A couple of GUID keys where different in our .sln file compared to the individual .csproj files.

    If you encounter out of order behavior check your keys!!

    Open the .csproj and get the GUID keys used and verify them against the .sln file.

    They should all match. If not then, either the value in the .sln or .csproj needs to be modified.

    Thanks,
    Staffan


  • VSTS Team Builds - Project Build Order