Using MSBUILD through command line or from TFS Server to compile VSTO projects may fail with error 'The "SignFile" task could not be initialized with its input parameters'

Symptom

You may get the following errors if you try to compile VSTO Projects through MSBUILD through command line or from TFS Server Post Visual Studio Update 3

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets (268): The "TargetFrameworkVersion" parameter is not supported by the "SignFile" task. Verify the parameter exists on the task, and it is a settable public instance property.

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets (264): The "SignFile" task could not be initialized with its input parameters.

Cause

Visual Studio 2013 Update 3 also brings some changes in VSTO Targets file. These changes are known only by MSBUILD 12.0 components.

Work Around

1) If you are using TFS  make sure Build Process Profile to be version 12.0  (like, “TfvsTemplate.12.xaml” )                    

Steps:

  1.  Edit build Definition from Team Explorer
  2. Click Process tab
  3. Pick “TfvsTemplate.12.xaml” from the Build Process Template selection instead of  “Default Template”

    

               

2) If you are building locally make sure the MSBUILD used is version 12.0:

  •  On 32-bit machines they can be found in: C:\Program Files\MSBuild\12.0\bin
  •  On 64-bit machines the 32-bit tools will be under: C:\Program Files (x86)\MSBuild\12.0\bin
  •  and the 64-bit tools under: C:\Program Files (x86)\MSBuild\12.0\bin\amd64

 Additional Information

Customize your build process template

https://msdn.microsoft.com/en-us/library/dd647551.aspx           

MSBuild is now part of Visual Studio!

https://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx