5

我有一个使用 TypeScript 作为客户端的小型 MVC4 Web 应用程序(约 40 个 .ts 文件)。

当我将 TS 升级到 0.9.1.1 时,我现在看到 lib.d.ts 中有 100 多个错误出现在 Visual Studio 2012 中的错误列表中。

这个问题是不可避免的(我们团队的所有成员在升级时都得到了同样的东西),但实际上不可能可靠地重现。一些行为:

  • 错误不会立即出现,只有在一定(看似随机的)时间后才会出现。
  • 它们通常会在保存文件时触发。
  • 它们是这样的:

    “所有命名属性必须是字符串索引器类型‘任何’的子类型”

  • 从项目中删除任何 .ts 文件或重新启动 VS 会使它们消失一段时间,但它们总会回来。
  • 编译器仍在运行,并且所有 .js 文件都已正确生成。

我尝试在 VS2012 和 VS2013 RC 中设置一个新的空项目,然后开始一一添加我们的 TS 类。在某些时候,错误会出现,但事实证明,追溯步骤在确定可能导致错误的原因方面完全没有结果。但是,它似乎只在您接近 15-20 个 .ts 文件时才会发生。

我在我的智慧在这里结束。

PS。在错误列表中,在“项目”列下,它通常命名一个特定的文件,而不是一个项目。通常它是一个定义文件,例如 underscore.d.ts。为什么这会被命名为一个项目?

编辑:

我已经设法用一个 .ts 文件和一些定义文件重新创建了它。

应用程序.ts

module Application {
    export class Main {
        constructor(options?) {
        }
    }
}

除了以下最新版本:

backbone.d.ts
jquery.d.ts
underscore.d.ts
backbone.relational.d.ts

我进行了许多快速更改并保存到 App.ts 以在 5 秒内重现 ie ~10。这可能表明文件权限错误吗?

4

2 回答 2

1

前往视觉工作室

并确保您安装了最新版本的打字稿。

于 2015-06-09T13:46:49.470 回答
0

似乎是因为在打字稿语言服务中进行了优化。Visual Studio 尝试部分更新信息以进行分析,但一旦分析滞后,就会发生更新命令之后的情况。

临时修复是剪切文件的全部内容,然后将它们粘贴回去,这为语言服务提供了文件的全新视图。

于 2013-09-20T23:16:43.410 回答