After installing Visual Studio 2015 Update 3, when I run the sample project for ASP.NET Core API Project I got the following errors:
Error MSB4064 The “OutputLogFile” parameter is not supported by the “VsTsc” task. Verify the parameter exists on the task, and it is a settable public instance property. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets 261
and
Severity Code Description Project File Line Suppression State
Error MSB4063 The “VsTsc” task could not be initialized with its input parameters. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets 247
These errors point to the following code in the following file C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets
<VsTsc ToolPath="$(TscToolPath)" ToolExe="$(TscToolExe)" Configurations="$(TypeScriptBuildConfigurations)" FullPathsToFiles="@(TypeScriptCompile)" YieldDuringToolExecution="$(TscYieldDuringToolExecution)" OutFile="$(TypeScriptOutFile)" OutDir="$(TypeScriptOutDir)" ProjectDir="$(ProjectDir)" ToolsVersion="$(TypeScriptToolsVersion)" RootDir="$(TypeScriptRootDir)" TypeScriptCompileBlocked="$(TypeScriptCompileBlocked)" JsxPreserve="$(JsxPreserve)" ComputeOutputOnly="false" OutputLogFile="$(CompilerOutputLog)"> <Output TaskParameter="GeneratedJavascript" ItemName="emittedFiles" /> </VsTsc>
The workaround I found so far is to comment all the code above and this fixes the build problem I experience:
<!--<VsTsc ToolPath="$(TscToolPath)" ToolExe="$(TscToolExe)" Configurations="$(TypeScriptBuildConfigurations)" FullPathsToFiles="@(TypeScriptCompile)" YieldDuringToolExecution="$(TscYieldDuringToolExecution)" OutFile="$(TypeScriptOutFile)" OutDir="$(TypeScriptOutDir)" ProjectDir="$(ProjectDir)" ToolsVersion="$(TypeScriptToolsVersion)" RootDir="$(TypeScriptRootDir)" TypeScriptCompileBlocked="$(TypeScriptCompileBlocked)" JsxPreserve="$(JsxPreserve)" ComputeOutputOnly="false" OutputLogFile="$(CompilerOutputLog)"> <Output TaskParameter="GeneratedJavascript" ItemName="emittedFiles" /> </VsTsc>-->
I will update the post if I find a better solution.
Kanio
Hi Kanio,
You can just comment out the line: OutputLogFile=”$(CompilerOutputLog)” , so the VsTsc task still runs and can process your typescript files. However, in case you don’t use typescript, I don’t see any problems commenting out the whole task.
I guess there was an update to TypeScript.Tasks.dll file which contains the VsTsc class definition and the OutputLogFile property has been removed, but the corresponding MSBuild file (Microsoft.TypeScript.targets) hasn’t been updated as well.
Best regards,
LikeLike
Hi Konstatinos,
Thank you for the advice and the explanation!
LikeLike