打字稿不在Build VS 2012上编译

时间:2014-01-20 09:49:59

标签: visual-studio-2012 compiler-construction typescript durandal

有问题的打字稿再次处理!

这就是我所拥有的。它在Save上构建得很好,但在编译时根本不会构建。我不愿意在互联网上遵循太多的指示,因为有很多不同的方法来实现这个工作似乎存在。这就是我尝试过的:

检查是否在文件上设置了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="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />

唯一的另一个因素是我正在使用Durandal,因此我将我的typescript对象添加到此结构中:App/viewModelsApp/modules

1 个答案:

答案 0 :(得分:3)

确定,

我最后通过创建一个Typescript HTML项目并在我想要使用typescript的MVC 5.0和所有运行良好的Typescript HTML项目之间进行一些比较来解决这个问题。

上述代码行需要在<{strong> </ProjectExtensions>之后添加。所以我现在有:

</ProjectExtensions>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
  <TypeScriptTarget>ES5</TypeScriptTarget>
  <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
  <TypeScriptSourceMap>true</TypeScriptSourceMap>
  <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
  <TypeScriptTarget>ES5</TypeScriptTarget>
  <TypeScriptRemoveComments>true</TypeScriptRemoveComments>
  <TypeScriptSourceMap>false</TypeScriptSourceMap>
  <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets')" />

请注意, ES3 的轻微差异会变为 ES5 $(VSToolsPath)项目路径。

所以它看起来就是这些事情发生的顺序。我认为整体升级到VS 2013可能是因为我认为很多这些问题都已得到解决。