【问题标题】:Typescript debug ts files that are in other projectTypescript 调试其他项目中的 ts 文件
【发布时间】:2026-02-11 07:55:02
【问题描述】:

我有以下情况:

  • 我们要转换为 typescript 的大型 ASP.NET 站点
  • typescript 项目作为解决方案的一部分,但在不同的项目中
  • typescript 已设置为每个项目只有一个 js 文件。
  • 我使用 Visual Studio 2012 和 typescript 0.9.5

问题是:有没有可能用这个配置直接调试typescript ts文件? 如果不可能,我需要修改才能做到这一点。 项目很大,把typescript部分放在里面不是很好的解决方案,因为web应用的编译时间很长。

谢谢

【问题讨论】:

  • 不,问题不在于页面检查器。问题是是否可以调试 ts 文件。当打字稿项目在另一个项目中时,与网页项目不同。我启用了源地图,将 typescript 项目安装为 web 项目,将 js 和地图文件复制到 web 项目,但不起作用。有什么想法吗?

标签: javascript debugging visual-studio-2012 typescript


【解决方案1】:

是的。您需要启用 sourcemaps,然后使用 Internet Explorer 作为浏览器启动 Visual Studio 调试。

【讨论】:

  • 谢谢,但源映射已启用,Visual Studio 2012 不会在断点和 Chrome 中停止或给出 402 错误,或者如果我手动输入 ts 文件的地址不会给出错误,但确实不调试文件。
【解决方案2】:

好的,最后我发现了一种在独立项目(作为 C# 库)中使用 typescript 调试 ts 的方法。解决方案是将 ts 文件的地址放在地图文件中。为此,您需要在 csproj 文件的属性组 DEBUG 中放置以下标记。

<TypeScriptSourceMap>true</TypeScriptSourceMap>
<TypeScriptSourceRoot>http://localhost:37938/</TypeScriptSourceRoot>

这里的地址是库项目的地址。然后您可以使用 Internet Explorer 从 Visual Studio 2012 进行调试,或者直接使用 Chrome 调试器在 Chrome 中进行调试。在 chrome 中,请记住在配置调试器中激活 map 选项。我正在使用打字稿 0.9.5

就是这样。

【讨论】:

    【解决方案3】:

    如果您尝试将共享代码与各种项目相结合,则接受的答案不起作用,因为默认情况下合并的 Source Map 文件不指向多个项目(因此您将无法调试共享代码),我认为还没有办法做到这一点。如果我错了,请纠正我。

    请参阅此问题/答案,说明在 Visual Studio、Chrome 和 Firefox 中,什么对可靠的代码维护和调试非常有效,同时仍保留将共享代码与引用项目代码相结合的能力(重要的,例如,如果您需要针对不同的 ECMAScript 版本):Visual Studio: How to debug TypeScript in a shared project using IIS Express and cross-project references (no linking or duplicating files)

    【讨论】: