プロジェクト内のすべての.tsファイルをコンパイルするために使用するMSBuildスクリプトがあります。まず、すべての.tsファイルを含むプロパティグループを作成します。
<ItemGroup>
<AllTypeScriptFiles Include="XXXXX\Scripts\**\*.ts;" Exclude="XXXX\Scripts\**\*.d.ts;" />
</ItemGroup>
次に、このファイルリストを入力ファイルにダンプしてtsc.exeを実行します。
<WriteLinesToFile
File="typescriptcompiler.input"
Lines="@(AllTypeScriptFiles)"
Overwrite="true"
Encoding="Unicode"/>
<Exec Command=""$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript\$(TypeScriptVersion)\tsc" --target ES5 @typescriptcompiler.input"
CustomErrorRegularExpression="\.ts\([0-9]+,[0-9]+\):(.*)"
IgnoreExitCode="true" >
</Exec>
現在、出力には、一部のファイルが見つからないことが示されています。
Error reading file "XXXXX.ts": File not found
これは一部のファイルで発生しますが、エラーメッセージとまったく同じパスを指定してtsc.exeを実行すると、エラーは発生せず、ファイルがコンパイルされます。
代わりに、各ファイルを順番にコンパイルする場合:
<Exec Command=""$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript\$(TypeScriptVersion)\tsc" --target ES5 "%(AllTypeScriptFiles.Identity)""
CustomErrorRegularExpression="\.ts\([0-9]+,[0-9]+\):(.*)"
IgnoreExitCode="true" >
</Exec>
10秒ではなく5分かかることを除いて、すべてのファイルは問題なくコンパイルされます...