Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error during VSO ASP.NET5 CI build - "Your project uses a different version of the TypeScript compiler" but I'm not using TypeScript

Suddenly from yesterday (31 August 2015) I have been getting an error on my Visual Studio Online build server when running the continuous integration build. The error occurs during the Build step for my DNX project (Build Foo.Api.xproj) with the following text:

Error : Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine. No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe. You may be able to fix this problem by changing the element in your project file.

The thing is, I'm not using TypeScript in the project at all and a Find on that turns up nothing. I checked with my colleagues and it seems that they are getting similar errors on their continuous integration builds, including on a project that has had no changes at all.

This leads me to believe it is a problem with VSO's build server, perhaps an upgrade. Does anyone know what is going on here and how to fix it?

To provide some context, this is the full output on the build console for this step:

    Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\tasks\VSBuild\1.0.13\VSBuild.ps1
C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe "C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj" /nologo /m /nr:false /fl /flp:"logfile=C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj.log" /dl:CentralLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /t:Build,FileSystemPublish /p:PublishConfiguration=Release /p:PublishOutputPathNoTrailingSlash=C:\a\12345678\staging/Foo.Api /p:platform="any cpu" /p:configuration="Release" /p:VisualStudioVersion="14.0"
Build started 9/1/2015 6:36:28 AM.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.Net.CoreRuntime.targets (68,11)" does not exist in the project, and will be ignored.
The target "_GeneratePrisForPortableLibraries" listed in a BeforeTargets attribute at "C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.Net.CoreRuntime.targets (177,11)" does not exist in the project, and will be ignored.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.NetNative.targets (126,11)" does not exist in the project, and will be ignored.
The target "AfterGenerateAppxManifest" listed in an AfterTargets attribute at "C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\Microsoft.NetNative.targets (174,11)" does not exist in the project, and will be ignored.
The target "BeforeGenerateProjectPriFile" listed in a BeforeTargets attribute at "C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets (149,61)" does not exist in the project, and will be ignored.
     1>Project "C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj" on node 1 (Build;FileSystemPublish target(s)).
     1>PrepareForBuild:
         Creating directory "..\artifacts\bin\Foo.Api\".
         Creating directory "..\artifacts\obj\Foo.Api\any cpu\Release\".
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(103,5): Error : Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine. No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe. You may be able to fix this problem by changing the <TypeScriptToolsVersion> element in your project file.
     1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(103,5): error : Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine.  No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe.  You may be able to fix this problem by changing the <TypeScriptToolsVersion> element in your project file. [C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj]
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(103,5): Error MSB6004: The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe" is invalid.
     1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(103,5): error MSB6004: The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe" is invalid. [C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj]
     1>Done Building Project "C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj" (Build;FileSystemPublish target(s)) -- FAILED.
Build FAILED.
       "C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj" (Build;FileSystemPublish target) (1) ->
       (PreComputeCompileTypeScript target) -> 
         C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(103,5): error : Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine.  No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe.  You may be able to fix this problem by changing the <TypeScriptToolsVersion> element in your project file. [C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj]
         C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(103,5): error MSB6004: The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe" is invalid. [C:\a\12345678\Root\src\Foo.Api\Foo.Api.xproj]
    0 Warning(s)
    2 Error(s)
Time Elapsed 00:00:01.81
like image 896
08Dc91wk Avatar asked Sep 01 '15 07:09

08Dc91wk


2 Answers

There is a workaround for this posted on MSDN (link below). It worked for me! Basically, you add the following to the MSBuild Arguments section of your build definition:

/p:TscToolExe="..\tsc.exe"

so now my build definition looks like this:

"Build" tab of build definition for "Visual Studio Build" step

I also opened a new issue on GitHub, but I got a response that it is not an issue with TypeScript but rather an issue with Visual Studio Online, and that the VSO team is aware and working on a fix. Hope this helps!

Reference as promised: https://social.msdn.microsoft.com/Forums/en-US/c6443c18-23d7-4bd2-a0f9-1fa558f18d22/typescript-build-failing-for-visual-studio-online-hosted-build-controller-due-to-typescript?forum=TFService

like image 90
How 'bout a Fresca Avatar answered Nov 18 '22 13:11

How 'bout a Fresca


We are rolling out an update to the VSO build images now.

The issue was due to the order of VS installs and TS updates. Here's the root issue: https://github.com/Microsoft/TypeScript/issues/3493#issuecomment-136722977

like image 30
bryanmac Avatar answered Nov 18 '22 12:11

bryanmac