使用0.9.5在Visual Studio 2012中给出“输出生成失败”的打字稿

时间:2014-01-17 16:00:00

标签: visual-studio-2012 typescript

过去几天我一直在使用Typescript 0.9.5,然后突然间,JavaScript文件刚刚停止生成。我在Visual Studio状态栏中看到“输出生成失败”错误,但在任何输出窗口中都没有。

我重新启动了,重新启动了Visual Studio,禁用了Web Essentials,尝试了所有常用的事情。

文件在属性中设置为TypescriptCompile。我已经尝试添加新文件,或者编辑旧文件但没有效果。据我所知,Project文件没有改变(它在TFS中并且没有任何TypeScript部分被更改)。

我确保两个文件都已检出,但仍然没有。

更新:我已经设法使用命令行中的tsc.exe手动编译,所以它必须是Visual Studio中的东西。

2 个答案:

答案 0 :(得分:4)

好的,所以我解决了这个问题。

我的一个文件包含无效的打字稿,特别是在不在模块内部时尝试导出类。这导致所有打字稿文件无法生成,但没有有用的错误消息。

以下文件会导致问题:

export class Test {
    public DoSomething() {
    }
}

删除export关键字或添加换行module解决了问题。

我在这里提出了一个问题:https://typescript.codeplex.com/workitem/2109

更新:更多详情。

如果您使用CommonJS或AMD模块模式,则上述语法有效。

要在visual studio中启用此功能,您需要编辑.csproj文件并插入新的PropertyGroup

<TypeScriptModuleKind>AMD</TypeScriptModuleKind>

答案 1 :(得分:0)

如果您在export内部module之外有--module尝试将其编译为commonjs或amd模块格式。如果命令行中不存在a amd标志,则编译将失败。使用项目属性将其设置为所需的值(在您的情况下可能为{{1}})。

有关TypeScript模块的更多信息:http://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1