构建解决方案时,Typescript文件将无法编译(Visual Studio 2012)

时间:2013-06-06 13:23:02

标签: visual-studio-2012 typescript

当我尝试在Visual Studio 2012中构建我的解决方案时,不会生成javascript文件。它只发生在特定文件中。

5 个答案:

答案 0 :(得分:8)

我遇到的问题是文件的Build Action设置不正确。

转到文件的属性并确保将其设置为TypeScriptCompile。

File Properties: TypeScriptCompile

答案 1 :(得分:2)

我发现,对于一个新项目,我的.csproj文件缺少一些重要的行 - 不知道为什么,但很容易修复,我谈了一点in my TypeScript blog

...尽管.ts文件的“Build Action”正确设置为“TypeScriptCompile”。要解决这个问题,我必须

右键单击解决方案资源管理器中的项目,然后选择“卸载项目” 右键单击项目,然后选择“编辑” 在相关章节中添加以下代码中的粗体

<PropertyGroup Condition=”‘$(Configuration)’ == ‘Debug'”>

<TypeScriptTarget>ES3</TypeScriptTarget>

<TypeScriptRemoveComments>false</TypeScriptRemoveComments>

<TypeScriptSourceMap>true</TypeScriptSourceMap>

<TypeScriptModuleKind>AMD</TypeScriptModuleKind>

</PropertyGroup>

<PropertyGroup Condition=”‘$(Configuration)’ == ‘Release'”>

<TypeScriptTarget>ES3</TypeScriptTarget>

<TypeScriptRemoveComments>true</TypeScriptRemoveComments>

<TypeScriptSourceMap>false</TypeScriptSourceMap>

<TypeScriptModuleKind>AMD</TypeScriptModuleKind>

</PropertyGroup>

<Import Project=“$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets” />

导入行应该显示在项目文件的末尾,其中显示其他Import元素。进行此更改后,我的.ts文件正确编译。在我看来,这个错误在后续版本的TypeScript中得到了解决,因为它不是Visual Studio 2013和TS 1.4的问题。

右键单击解决方案资源管理器中的项目并重新加载项目。

答案 2 :(得分:1)

安装Web Essentials http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6

它有一个build on build的设置: enter image description here

答案 3 :(得分:0)

为Visual Studio安装TypeScript plugin 保存TS文件后,您将能够立即看到JS代码。 你也可以用这种方式调试JS。

答案 4 :(得分:0)

VS2013的当前Typescript插件仅在保存时编译,而不是在构建时编译。如果在外部编辑某些打字稿文件或者必须从头开始重建项目,这可能会很痛苦。

我在csproj末尾的<Target Name="AfterBuild">部分添加了以下内容。

<Exec Command="tsc.exe -target ES5 --sourcemap _core.ts"
    WorkingDirectory="$(MSBuildProjectDirectory)\js" />

其中js是打字稿文件所在的目录,而_core.ts是引用其标题中所有其他打字稿的主要打字稿。

现在,即使同事抓取项目,它也会自动重建所有javascript文件。