Visual Studio 2019 年的 TypeScript 版本不匹配

TypeScript version mismatch in Visual Studio 2019

我对与 Visual Studio 2019 相关的 Typescript 版本控制感到非常困惑。我有一个使用 Typescript 的 .NET Core 2.2.x 项目。当我编辑任何 .ts 文件时,我收到以下警告(在错误列表中):

Your project is built using TypeScript 3.4, but the TypeScript language service version currently in use by Visual Studio is 3.4.3. Your project may be using TypeScript language features that will result in errors when compiling with this version of the TypeScript compiler. To remove this warning, install the TypeScript 3.4.3 SDK or update the TypeScript version in your project's properties.

它声称我的项目是使用 TypeScript 3.4 构建的,但 package.json 特别列出了 "typescript": "3.4.3"

然后它要求安装 TypeScript SDK 3.4.3,这是我从 here 获得的。我之前也 npm install -g typescript,所以 运行 tsc -v 产生 Version 3.4.3.

我错过了什么?

我在 Task Runner Explorer 中遇到了与您描述的类似问题。

假设:TypeScript 应该在您的 PATH 变量中(您可以在普通命令提示符下通过 运行 'tsc -v' 检查。

长期以来,Visual Studio 允许您选择要在 per-project 基础上使用的 TypeScript 版本(right-click 项目 => 属性 => 选项卡 'Typescript Build' ).这里可以选择官方安装的版本,也可以选择'Use latest available'.

在 Visual Studio 选项中,您可以指定在使用第 3 方工具构建 Web 项目时使用 'External Web Tools' 的位置和顺序。在该列表中,您可能会找到一个项目“$(PATH)”。我把它移到了列表的顶部,这使得全局安装的 TypeScript 版本在搜索时第一个被找到。

我希望这也适用于您的情况。

自最初的答案以来,这可能变得更容易了。

现在您只需安装 NuGet 包Microsoft.TypeScript.MSBuild.

那就不用单独安装SDK了,微软推荐使用NuGet或者npm: https://docs.microsoft.com/en-us/visualstudio/javascript/javascript-in-vs-2019?view=vs-2019

在项目 Properties > Typescript Build 选项卡中,Typescript 版本将更改为 n.n (NuGet) 并显示为灰色。现在,如果您在一个团队中工作,那么所有团队成员肯定会为该项目使用相同的版本!酷!