【问题标题】:Working with different versions of a project, that has been built with different versions of Typescript使用使用不同版本的 Typescript 构建的项目的不同版本
【发布时间】:2017-03-16 11:53:36
【问题描述】:

我目前是一个团队的一员,该团队正在 Visual Studio 中处理一个相当大的 Typescript 项目。随着时间的推移和项目的不同版本的发布,我们在与 Visual Studio 一起安装的 Typescript 的版本控制方面遇到了麻烦。

场景

  • v 1.1.0 产品发布,基于 TypeScript 1.8
  • v 1.2.0 产品发布,基于 TypeScript 2.1

客户 X 报告了 1.1.0 版本的错误,团队将开始着手修复。

问题

Visual Studio 当前配置为使用最新版本的 TypeScript(本例中为 2.1),因此 v 1.1.0 中的代码无法编译。

是的,我可以手动更改项目文件中的打字稿版本并在 tsc.exe 上移动以使其工作。 Typescript 也是全局安装的,但出于某种原因,他们决定 Visual Studio 将编译器安装在自己的文件夹中,而不是访问全局安装的。

希望其他人遇到了这个问题,并有更好的方法来解决这个问题。

【问题讨论】:

  • 您是否使用 git 进行源代码控制?如果签出 1.1.0 版本的应用,项目文件中的 typescript 版本不是 1.8 吗?
  • 是的,我们使用 git 进行源代码控制,但这并不能像您建议的那样解决问题。但是,我确实找到了解决方案。除非提出其他建议,否则将为我自己的问题添加答案

标签: visual-studio typescript


【解决方案1】:

通过将以下参数添加到我的 .csproj 文件中解决了这个问题:

<TypeScriptCompileBlocked>True</TypeScriptCompiledBlocked>

结束运行 grunt watch 任务,使用全局安装的 TypeScript 编译器来编译项目。

取自official TypeScript docs

如果您使用不同的构建工具来构建您的项目(例如 gulp、grunt 等)和 VS 以获得开发和调试体验,请在您的项目中设置为 true。这应该会为您提供所有编辑支持,但不会在您按 F5 时为您提供构建。

【讨论】:

  • 这很酷。所以你在任务运行器窗口中得到 ts compile 输出?
  • 我能做到,是的。我只是倾向于在单独的命令行窗口中运行任务:)
猜你喜欢
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多