【发布时间】:2018-06-04 07:43:02
【问题描述】:
我们团队中的一些人同时安装了 Visual Studio 2015 和 Visual Studio 2017。其他的只有最新的 Visual Studio 2017 (15.5)。对于后者,我们注意到我们在 IDE 中的 TypeScript 项目由于各种 lib.es2015.d.ts 问题而产生各种意外错误。
我们的项目使用 TypeScript 2.2,而最新的 Visual Studio 2017 (15.5) 附带 TypeScript 2.5。
我们发现 Visual Studio TypeScript SDK 安装在以下路径:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.2C:\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 文件夹的副本。现在它可以工作了。但这真的感觉像是一个 hack!
总结我们的问题:
- 将 TypeScript SDK 2.2 安装到 Visual Studio 2017 (15.5) 的最佳方式是什么?
- 真正强制使用 2.2 版中的 lib.es2015.d.ts 的最佳方法是什么?
【问题讨论】:
标签: visual-studio typescript visual-studio-2017 typescript2.2