找不到VSTS指定的TypeScript编译器

Jul*_*les 7 compiler-errors visual-studio typescript azure-pipelines

我正在为使用TypeScript的项目使用VSTS。我们配置了一个CI构建,突然之间一个人今天停止工作。昨天一切都很好,今天他们都失败了。

查看构建日志后,我发现它找不到我们指定的TypeScript编译器:

警告:您的项目指定TypeScriptToolsVersion 2.1,但是找不到匹配的编译器。将使用最新的可用TypeScript编译器(2.4)。要消除此警告,请安装TypeScript 2.1 SDK或更新TypeScriptToolsVersion的值。

因此突然之间,它开始使用TypeScript 2.4进行编译,并且我们有一些与该版本不兼容的代码(Promises)。

我已经在.csproj中将TypeScript工具版本定义为

<TypeScriptToolsVersion>2.1</TypeScriptToolsVersion>
Run Code Online (Sandbox Code Playgroud)

当我读过它首先尝试使用的构建日志时,这似乎是有效的。

知道是什么导致VSTS突然“忘记”了TypeScript 2.1,如何解决此问题?我找不到任何更新通知或任何东西。

小智 29

右键单击“项目”并单击“属性”单击“TypeScriptBuild”并选择“使用最新可用的”

见下图


sta*_*SFT 5

这意味着 TypeScript SDK 已在构建服务器上更新。如果您使用的是私有构建代理,则可以在构建服务器上进行检查。如果您使用的是Hosted agent,会不定期更新(官方文章未更新)

关于这个问题,你可以参考这些线程:

对于 VS 2015 项目(Microsoft.TypeScript.MSBuild 包):Visual Studio Team Services 构建 Typescript 错误

对于 VS 2017 项目(Microsoft.TypeScript.MSBuild 包):带有 .NET Core1.1 构建的 Angular4.1 在 VSTS 托管 VS2017 代理中失败

  • 我觉得很奇怪,TypeScript 版本似乎在 VSTS 上没有任何通知就更新了。我通过下载 Typescript Compiler 的 Nuget 解决了这个问题,并且我在构建中使用了这个 Nuget 的版本(通过 .csproj 配置)。谢谢您的帮助! (3认同)