我们团队中的一些人同时安装了 Visual Studio 2015 和 Visual Studio 2017。其他的只有最新的 Visual Studio 2017 (15.5)。对于后者,我们注意到由于各种 lib.es2015.d.ts 问题,IDE 中的 TypeScript 项目正在生成各种意外错误。
我们的项目使用 TypeScript 2.2,而最新的 Visual Studio 2017 (15.5) 附带 TypeScript 2.5。
我们发现 Visual Studio TypeScript SDK 安装在以下路径:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.2
C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.5
我们注意到 15.5 在 csproj 属性屏幕中带有一个新属性,它允许直接更改所需的 TypeScript 版本。由于该项目需要未安装的 2.2,因此下拉列表显示缺少的 2.2 位。
我们试图解决这个问题:
- 为 Visual Studio 2015 安装了 TypeScript 2.2 SDK(对于 2017,没有单独的安装)。不幸的是,这个包似乎没有附带语言服务
tsserver.js
。不工作。网址:http: //download.microsoft.com/download/6/D/8/6D8381B0-03C1-4BD2-AE65-30FF0A4C62DA/TS-2.2-dev14update3-20170221.2/TypeScript_Dev14Full.exe - 使用 NuGet 包
Microsoft.TypeScript.Compiler
并安装了 2.2.1(没有 2.2.2 可用?)。这似乎没有解决任何问题。我们不清楚这个包是如何真正融入某些东西的。即使在添加特定属性之后TypeScriptNuGetToolsVersion
。 - 使用 NuGet 包
Microsoft.TypeScript.MSBuild
并安装了 2.2.2 版。不幸的是,这只会影响 MSBuild 过程,而不会影响编辑器体验。MSBuild 与我们无关,因为我们使用 Angular CLI 来真正构建/查看 TypeScript 源代码。 - 复制我们的 Visual Studio 2015 安装之一的 2.2 位。这启用了 csproj 属性屏幕中的 2.2 菜单选项。但是,我们仍然会遇到与 lib.es2015.d.ts 的冲突。我们发现 SDK 似乎总是使用最新版本,在我们的例子中是 2.5。我们也安装了2.6,然后就开始用2.6了。
- 最终,我们完全删除了 2.6 文件夹并创建了一个名为 2.6 的 2.2 文件夹的副本。现在它可以工作了。但这真的感觉像一个黑客!
总结我们的问题:
- 将 TypeScript SDK 2.2 安装到 Visual Studio 2017 (15.5) 的最佳方法是什么?
- 从 2.2 版开始真正强制使用 lib.es2015.d.ts 的最佳方法是什么?