我发现我的TypeScript文件只在我保存时编译。但是,当我构建或重建项目时,它们不会编译。我正在使用TypeScript 0.9.1.1。
当我检查 new 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" />
TypeScriptCompile
,如上所示答案 0 :(得分:2)
将项目文件与新的TypeScript项目文件进行比较后,我将问题缩小到以下几点:
必须在C#目标文件之后导入TypeScript目标文件。
在问题的代码中,通过移动以下行来解决问题:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />