Visual Studio 2017中TypeScript构建成功但存在大量IntelliSense错误求助
针对TypeScript 2.2 + VS2017 IntelliSense错误的解决方案
我之前维护旧TS项目时也碰到过几乎一模一样的问题,结合你的场景,给你几个可以一步步尝试的解决办法:
强制匹配项目的TypeScript版本
VS2017默认可能自带了更高版本的TypeScript,这会和项目依赖的2.2版本冲突。你可以这么做:- 打开VS的「工具」→「选项」→「文本编辑器」→「JavaScript/TypeScript」→「Language Service」,在「TypeScript版本」下拉框里选择2.2.x的版本(如果没有这个选项,需要先安装对应版本的TypeScript SDK)
- 更稳妥的方式是直接修改项目文件:右键项目→「卸载项目」→右键编辑项目的
.csproj文件,找到<TypeScriptToolsVersion>节点,把它的值改成2.2,保存后重新加载项目
清理项目缓存与IntelliSense数据
缓存错乱很容易导致大量IntelliSense错误,按这个流程操作:- 完全关闭Visual Studio
- 删除项目根目录下的
.vs隐藏文件夹,以及bin、obj文件夹 - 重新打开VS,右键解决方案→「清理解决方案」,然后执行「重新生成解决方案」
- 还可以手动刷新IntelliSense:点击「编辑」→「IntelliSense」→「刷新本地缓存」
校验NuGet包的TypeScript依赖一致性
虽然你执行了Update-Package -reinstall,但有些TS相关的NuGet包(比如Microsoft.TypeScript.MSBuild)可能被更新到了不兼容2.2的版本。你可以:- 在「NuGet包管理器控制台」里执行
Install-Package Microsoft.TypeScript.MSBuild -Version 2.2.2,强制安装匹配版本的构建工具包 - 打开项目的
tsconfig.json文件,对比同事机器上的配置,确保compilerOptions里的target、lib、module等参数完全一致,避免因语法兼容规则不同导致错误
- 在「NuGet包管理器控制台」里执行
修复Visual Studio的TypeScript语言服务
如果以上方法都无效,可能是VS的TS语言服务组件损坏了:- 打开控制面板→「程序和功能」,找到Visual Studio 2017,点击「更改」→「修复」,等待修复完成后重启VS
- 若修复后还是不行,去下载对应VS2017的TypeScript 2.2 SDK安装包,手动安装后再重启VS试试
内容的提问来源于stack exchange,提问作者Daniel Choi
相关产品推荐
相关产品推荐

