Search code examples
visual-studio-2012buildbuild-definition

TFS 2012 build definition: Parameter Items to Build: cannot convert value Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings


After a lot of editing of my build templates (I recreated them in 2012 to avoid any issues.. but then I suppose I got sloppy and simply copy/pasted whole blocks from the old workflow, and I suppose that must have completely destroyed my versioning) I now have problems with just one build definition based on the build template I edited. (All other ones seem to be working fine.. so I suppose that one got a problem during all the editing. (I was mostly adding and removing Version=11.0.0.0 to the assemblies in the build template))

The exact error is:

Parameter Items to Build: cannot convert value 'Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings' of type Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings to type Microsoft.TeamFoundation.Build.Workflow.Activities.Buildsettings, reset to default.

It is displayed when editing the build definition and wanting to select the project/solution and configuration to build. Actually, with this now I cannot save (without error) any more and the value gets deleted again.

(I am using VS 2012 (VS 2010 still installed) against TFS 2012.)

How to fix?


Solution

  • Open up your XAML and look at the xmlns's on the Activity root node:

    Here's a snipped version of mine:

    <Activity mc:Ignorable="sads sap sap2010" <!--Removed-->
     xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common"
     xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client"
     xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow"
     xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow"
     xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow"
     xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration"
     xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client"
     xmlns:mtvc1="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common"
    

    Look for Version Specific references (usually "10.0" or "11.0") and remove them so they look like the ones I have above.

    Also, check you project references and ensure that they are not Version Specific.