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

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

MSBuild is now part of Visual Studio!

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

 

Comments (2)

  1. Mark says:

    Hi there, I'm still getting this error on our build server despite retargeting to v12.

    Note that we use the Microsoft Build Tools rather than Visual Studio on the build server. (I can't seem to find an update to 2013.3 or 4 for the build tools product)

    Using "SignFile" task from assembly "Microsoft.Build.Tasks.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".

    Task "SignFile" (TaskId:37)

     Task Parameter:CertificateThumbprint=xxxxxxx (TaskId:37)

     Task Parameter:SigningTarget=D:Builds12xxxxx.dll.manifest (TaskId:37)

    C:Program Files (x86)MSBuildMicrosoftVisualStudiov12.0OfficeToolsMicrosoft.VisualStudio.Tools.Office.targets(268,13): error MSB4064: 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. [xxxxx.csproj]

    C:Program Files (x86)MSBuildMicrosoftVisualStudiov12.0OfficeToolsMicrosoft.VisualStudio.Tools.Office.targets(264,9): error MSB4063: The "SignFile" task could not be initialized with its input parameters.  [xxxxx.csproj]

  2. Hi Mark,

    Sorry about the delay in reaching back. I checked internally, I am under the impression MSBUILD tools are also updated.

    Recently MSBUILD has become an open source

    MSBuild Engine is now Open Source on GitHub

    blogs.msdn.com/.../msbuild-engine-is-now-open-source-on-github.aspx

    If you continue to get issue with the latest open MSBUILD versions I suggest you to reach out to the forum link below

    forums.dotnetfoundation.org

    Thanks

    Sangeeth

Skip to main content