【问题标题】:Embedding TypeScript JS output in DLL as a resource在 DLL 中嵌入 TypeScript JS 输出作为资源
【发布时间】:2014-08-01 10:41:15
【问题描述】:

我正在编写一个 DLL 库,它需要向父网站提供一些 JavaScript 代码。 JavaScript 将是项目中 TypeScript 文件的编译输出。

由于 TypeScript 已合并到 Visual Studio,它不会将输出文件添加到项目中。虽然这对 Web 项目有意义,但对于 DLL 则没有意义。

目前我的解决方法是在项目中手动包含.js输出文件,并将其标记为嵌入资源,以便在网站中导出和使用。但是,这样做会导致文件受 TFS 源代码控制 - 如果签入是只读的,则会导致编译错误。所以我必须一直检查 .js 文件。

想知道人们是否会提出其他解决方案?

【问题讨论】:

    标签: .net typescript embedded-resource


    【解决方案1】:

    对于这个问题没有任何明确的解决方法。

    当我们在 Visual Studio 中开发 TypeScript 项目系统时,这正是我们在项目中包含 .js 文件(作为 .ts 文件的子项)时遇到的问题。每个使用 TFS 的人都抱怨 .js 文件是只读的很烦人,所以我们从项目中删除了它。那时,没有使用 TFS 的每个人都抱怨 将 .js 文件放在项目中很不方便。

    幸运的是,他们很容易从“在项目中”变为“不在项目中”,反之亦然。不幸的是,听起来您需要同时处于两种状态。

    您可以尝试使用嵌入项目的单独依赖项目,作为后期构建步骤的一部分,有条件地签出 .js 文件。我没试过,但它可以工作。

    【讨论】:

    • 感谢@ryan-cavanaugh 的输入 - 我想确保我没有遗漏任何东西。 .9 之前的 WebEssentials(当它支持 TS 时)通过在编译时检查 .js 文件确实工作得很好——你可以看看从中获取代码。
    • 刚刚发现 Visual Studio 2013(更新 3)似乎已经修复了 check-out-to-compile 问题:如果您修改 .ts 文件并导致编译,它会自动检出.js 文件。凉爽的! Thx VS 团队
    • 不确定这是否真的可行。我无法让它在 2017 年或 2022 年工作。当 .js 文件为只读或签入时,TS 编译器不会静默地覆盖它,因此编译器输出丢失并且不显示错误。当 .ts 文件发生更改时,这在生产环境中是一个问题。不知道我做错了还是它不应该那样工作。
    猜你喜欢
    • 2012-03-29
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 2010-10-22
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    相关资源
    最近更新 更多