我有一个使用 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。这可能表明文件权限错误吗?