首页 文章

TypeScript文件在保存时编译,但在构建时不编译

提问于
浏览
0

问题

我发现我的TypeScript文件只在我保存时编译 . 但是,当我构建或重建项目时,它们不会编译 . 我正在使用TypeScript 0.9.1.1 .

当我检查新TypeScript项目的构建输出时,它包含以下条目:

CompileTypeScript:
  C:\Program Files\Microsoft SDKs\TypeScript\tsc.exe  --module AMD --sourcemap --target ES3 "app.ts"

但是我的项目在它的构建输出中没有产生这个 .

设置

以下是项目文件的相关部分:

<ItemGroup>
    <TypeScriptCompile Include="Scripts\app\example.ts" />
</ItemGroup>
<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
</PropertyGroup>
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

我检查了什么

  • 文件在新的TypeScript项目中构建时编译,因此应该可以 .

  • 目标文件存在于正确的位置

  • 与新的TypeScript项目相比,上面显示的项目文件配置似乎是正确的

  • 编译一个新的TypeScript项目,工作正常

  • Cannot compile TypeScript files in Visual Studio 2012,但问题的症状与我的不同,目前尚不清楚作者是否使用相同的设置

  • Typescript will not properly compile in VS2012,但问题的症状与我的不同

  • 每个TypeScript文件的构建操作设置为 TypeScriptCompile ,如上所示

1 回答

  • 2

    将项目文件与新的TypeScript项目文件进行比较后,我将问题缩小到以下内容:

    The TypeScript targets file must be imported after the C# targets file.

    在问题的代码中,通过移动以下行来解决问题:

    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    

相关问题