Visual Studio 2017 MSBUILD 在打字稿 ES6 语法上给出 TS1005 错误

Visual Studio 2017 MSBUILD giving TS1005 error on typescript ES6 syntax

我有以下代码,它在 TS 文件中使用以下 ES6 语法 settings.ts,

var text = objectStruct?.property1;

构建项目时,此行给出错误,

longpath\settings.ts(197,66): error TS1005: Build:':' expected. [path\myproject.csproj]

项目中选择的 Typescript 版本是使用 TypeScript 2.5 我了解 TS 3 或更高版本支持此语法。但是如果更高版本的打字稿安装在 C:\Program Files (x86)\Microsoft SDKs\TypeScript\ 我们可以覆盖这个错误吗? 不更改任何项目设置?

Ofcourse error goes away if we fall back to simple syntax condition? truthvalue : falsevalue 

经过一番研究终于找到了解决办法。

如上所述,我的项目指的是 2.5 的项目 Typescript 构建属性。在 MicrosoftDKs 位置我有更高的版本。

Open Visual Studio Installer> modify 2017 > Unselect Typescript version 2.5 Click Save changes

现在已删除此版本,并且 msbuild 默认为可用的最高版本,无需更改项目引用。

另一种选择,如果您愿意,可以从 TypescriptBuild 属性升级到“使用最新版本”选项,而不是指定任何版本。确保您了解任何兼容性问题。