Tag Archives: TFS2012

Opening a TFS 2010 build process template in Visual Studio 2012

I recently came across a scenario when trying to edit TFS2010 build process templates within VS 2012, and thought I would share some lessons learned.

When you open up a tfs 2010 build process template within VS 2012, you may get the following error (see below). In my case, I have all my templates linked into a .NET project. Whenever I open the same template outside the project, things seem to be ok, which led to me to think something about the project was causing my headaches.

Build Settings Error

With this information, my next destination were the project settings.  As you can see, the project currently targets the “.NET Framework 4 Client Profile”, so as soon as I changed this to target “.NET Framework 4.5”, the templates began loading succesfully again.  However, it didn’t end there for me.

ProjectTargetFramework

There was one more quirk I found after the template had loaded.  As you can see, the template now indicated it has and error on the “Run MSBuild for Project” activity.

Here is the error message: “Compiler error(s) encountered processing expression Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal.  ‘BuildVerbosity’ is ambiguous in the namespace ‘Microsoft.TeamFoundation.Build.Workflow'”. 

In examining the properties, it clearly shows it didn’t like the object type for the “Verbosity” property.   The Verbosity(BuildVerbosity) property is mapped to one of my custom arguments which I’ve called, well, Verbosity.

RunMSBuildErrorWithProperty

All I had to do was go to my argument in the Arguments list.  Once I located my “Verbosity” agrument, I clicked on the Argument type column, which should show you a drop down with several options.  Click on the “Browse for types”, and go to the workspace “Microsoft.TeamFoundation.Build.Workflow [10.0.0.0]”, then to “Microsoft.TeamFoundation.Build.Workflow”, and then select “BuildVerbosity” type.  This should resolve the error.

VerbosityARgument

ChooseWorkspace

NOTE: If you use the IBuildDetail or IBuildAgent variable types, you may need to perform the same above step for their respective namespaces.

[UPDATE – 08/27/2013]

Check out an update (with more relevant and detailed info) to this post here.

Advertisements
Tagged , , , ,
%d bloggers like this: