【问题标题】:TypeScript version mismatch in Visual Studio 2019Visual Studio 2019 中的 TypeScript 版本不匹配
【发布时间】:2019-09-07 00:06:39
【问题描述】:

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

您的项目是使用 TypeScript 3.4 构建的,但 Visual Studio 当前使用的 TypeScript 语言服务版本是 3.4.3。您的项目可能正在使用 TypeScript 语言功能,这些功能在使用此版本的 TypeScript 编译器进行编译时会导致错误。要删除此警告,请安装 TypeScript 3.4.3 SDK 或在项目的属性中更新 TypeScript 版本。

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

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

我错过了什么?

【问题讨论】:

    标签: visual-studio typescript visual-studio-2019


    【解决方案1】:

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

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

    很长一段时间以来,Visual Studio 允许您选择要在每个项目基础上使用的 TypeScript 版本(右键单击项目 => 属性 => 选项卡“Typescript Build”)。在这里您可以选择正式安装的版本,也可以选择“使用最新版本”。

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

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

    【讨论】:

    • tsc 不在我的PATH 中(无论是系统范围内还是 VS2019 的开发人员命令行)。 VS 错误列表抱怨我的项目正在引用 TypeScript 3.9,而我的所有项目文件实际上都引用了 TypeScript 4。我也没有安装 TypeScript VS 扩展或 TypeScript MSBuild NuGet 包。这很奇怪。
    • 我发布了一个非常非常相似的问题(不同的警告,以及 VS2022),这里有一个非常非常相似的答案 stackoverflow.com/questions/71126707 :不将 $(PATH) 移到顶部,但禁用 @987654325而是@。
    【解决方案2】:

    这可能比原来的答案更容易了。

    现在您可以安装 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) 并显示为灰色。现在,如果您在一个团队中工作,那么所有团队成员都肯定拥有该项目的相同版本!酷!

    【讨论】:

    • 感谢感谢感谢,再次感谢 - 你把我从痛苦和痛苦中拯救出来 - 让 jess 得到祝福 - 这是我的投票。我不知道有人怎么能像视觉工作室那样以如此荒谬的方式实现它。至少这是可行的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2014-03-24
    相关资源
    最近更新 更多