【问题标题】:VS2013 Typescript: Referencing and debugging with multiple projectsVS2013 Typescript:多个项目的引用和调试
【发布时间】:2013-10-04 14:44:26
【问题描述】:

我已经制作了一个用 TypeScript 编写的库,现在我想为此制作一个示例应用程序。

为此,我在当前的 Visual Studio 解决方案中添加了一个新项目。

文件夹树是这样的:

SamiTS
├───SamiTS
└───SamiTSSampleApp

我添加了对我的库的引用:

///<reference path='../SamiTS/samiconverter.ts' />

现在我可以很好地构建它们,但我无法使用 Visual Studio 进行调试,因为它将 SamiTSSampleApp 文件夹设置为根目录,因此我无法使用“../SamiTS”访问 SamiTS 文件夹

我可以在不将我的库(由多个文件组成,编译成一个文件)复制到新文件夹的情况下解决这个问题吗?

【问题讨论】:

    标签: typescript visual-studio-2013


    【解决方案1】:

    我使用了构建后的任务来复制文件。现在我使用 grunt-ts 生成单个合并文件。

    【讨论】:

    • 谢谢!我在 csproj 文件中应用了 AfterBuild 操作,效果很好!
    【解决方案2】:

    从另一个项目复制文件是一个等待发生的意外,因为您正在创建重复文件(如果您编辑重复的文件,您的更改将在下一次构建时被覆盖)。

    为了合并文件,我更喜欢使用 Visual Studio 2013 的内置 TypeScript Combine 方法而不是 GruntTS。为此,请转到您的 Web 应用程序的属性 | TypeScript Compile 选项卡,选中 Combine JavaScript output into file 框,并指定合并的文件目标(例如 $(ProjectDir)Scripts\App.js)。

    另外,我认为 GruntTS 在合并到单个项目文件时不会正确设置不同项目中的 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)

    【讨论】:

      猜你喜欢
      • 2015-12-01
      • 2014-01-25
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      相关资源
      最近更新 更多