Unable to load task handler PowerShell for task VSBuild

TL;DR

When setting up TFS 2015's vNext build system on Windows Server Technical Preview, you may encounter a "Unable to load task handler PowerShell for task VSBuild" error due to missing dependencies or blocked files. The issue is often caused by downloaded zip files being blocked by Windows, which prevents the build agent from working properly. To resolve this, ensure you unblock any downloaded zip files before extracting and configuring your build agent.

18 March 2015
Written by Martin Hinshelwood
3 minute read
Comments
Subscribe

If you are setting up to run Team Foundation Server’s vNext build system that Microsoft is previewing on VSO you may hit a “Unable to load task handler PowerShell for task VSBuild with version 1.0.1” error when you try to build on Windows Server Technical Preview.

Download Team Foundation Server 2015 today

Microsoft has released a CTP of TFS 2015 that includes the vNext build system. You can download TFS 2015 and try it out today. Remember that this is not a go-live version and you should not install it in production.

clip_image001

After you have configured a vNext build agent you may get an error when you try and build. This error occurs regardless of the tasks that you pick for your build.

******************************************************************************
Starting Build (debug, any cpu)
******************************************************************************
Executing the following commandline:
C:\VsoWinAgent\agent\worker\vsoWorker.exe /name:Worker-4649b2ea-e06d-47b0-9a89-5f4aa4d545df /id:4649b2ea-e06d-47b0-9a89-5f4aa4d545df /rootFolder:"C:\VsoWinAgent" /logger:Forwarding,1.0.0;Verbosity=Verbose,Name=Agent1;JobId=4649b2ea-e06d-47b0-9a89-5f4aa4d545df
Unable to load task handler PowerShell for task VSBuild with version 1.0.1.
******************************************************************************
Finishing Build (debug, any cpu)
******************************************************************************
Worker Worker-4649b2ea-e06d-47b0-9a89-5f4aa4d545df finished running job 4649b2ea-e06d-47b0-9a89-5f4aa4d545df

I tried to build both with the “Visual Studio Build” task and the “MS Build” tasks that come out of the box. Both resulted in the same error and I can only assume that there is an internal dependency on a particular PowerShell version that is not present.

After some investigation on Windows Server Technical Preview I noticed that only PowerShell 5 is available and enabled out of the box. Just like on Server 2008 R2, if you want an older version of PowerShell or .NET to be available then you need to go manually enable it.

clip_image002

If you launch the “Add roles and features” you should see, on the features tab, an option for PowerShell with only PowerShell 5.0 installed. As this is only available in the Technical Preview my assumption would be that the team targeted the latest common version. Which would be the 2.x version.

clip_image003

On Server 2012 R2 you will also find that only PowerShell 4.0 is configured by default and you will need to add PowerShell 2.0 here as well. This will in addition also enable .NET 2 / 3.5 if it has not been already.

clip_image004

Although a better error message could be used, like detecting if the Windows feature is indeed enabled, this is an alfa version of the product and you don’t expect any such polish. After enabling the feature, and re-running the build…

And Poo, I still have a problem, so that’s not it. This brought me to the end of my wits and I had to go ask some folks.

clip_image005

After a flurry of emails to my peers on the champs list Jakob asked if I had Unblocked the Zip files! Do what now?

It turns out that if you download a zip file from the internet it may be “partially” blocked. Windows will block access to some files that it deems risky but not warn you nor stop you from unpacking it. Unfortunately it will only partially unpack… which rendered my build agent useless.

So if you are downloading a Zip file from the internet you may need to unblock them before you can use them fully.

clip_image006

Woohoo… A successful build on the new Build vNext…

Smart Classifications

Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.

Comments
Subscribe

What to read next

Article Engineering Excellence

Access denied for orchestration plan on Build

Explains how to resolve TFS build errors caused by missing write permissions for the Project Collection Build Service on orchestration …

Read article
Article Engineering Excellence

Create a Build vNext build definition

Step-by-step guide to creating a Build vNext build definition in Visual Studio Online, covering task setup, options, triggers, variables, …

Read article
Article Engineering Excellence

Configure a Build vNext Agent

Learn how to set up a Build vNext Agent for Visual Studio Online or TFS 2015, including prerequisites, VM setup, agent configuration, and …

Read article
Article Engineering Excellence

Using the Build vNext capabilities and demands system

Explains how to use Build vNext's capabilities and demands system in VSO/TFS 2015 to match build agents with required tools and …

Read article