typescript html5 プロジェクト テンプレートを使用して、typescript を appharbor で実行しようとしています。
MSBuild フォルダーと SDK フォルダーから Typescript ターゲット フォルダーをプロジェクトにコピーしました。ローカルではすべてが機能しますが、appharbor にプッシュすると、以下に詳述するエラーが表示されます。
また、Microsoft SDk フォルダー内の SDK を探して代わりに「vendors」フォルダーを参照するように、typescript ターゲットを自由に修正しました。
typescript コンパイラのバージョンは0.9.1.1
次のエラーメッセージが表示されます。
error MSB6006: "tsc.exe" exited with code 1
ビルドで次の typescript タスク出力が得られます。
CompileTypeScript:
D:\temp\bn4vn5tf.fls\input\test\..\Vendors\TypeScript\tsc.exe --removeComments --declaration --module AMD --out ".\js\all.js" --target ES5 "app.ts"
以下にエラーが表示されます。
CompileTypeScript:
Cannot initialize ActiveScript
D:\temp\bn4vn5tf.fls\input\vendors\TypeScript\Microsoft.TypeScript.targets(72,5): error MSB6006: "tsc.exe" exited with code 1. [D:\temp\bn4vn5tf.fls\input\test\test.csproj]
完全なビルド出力を含むパブリック Gist を作成しました。
https://gist.github.com/dmportella/6470465
typescript ターゲットの要旨も作成したので、私が行った変更を確認できます。
https://gist.github.com/anonymous/6470504
Thxと前進
アップデート
Ryan が提案したように、tsc.exe から nodejs を使用して tsc.js ファイルを実行するように変更したため、Typescript SDK と Nodejs バイナリを GIT リポジトリに追加する必要があり (これはとにかく良い方法です)、最後に必要な exec タスクをtypescript プロジェクト ファイル。
あなたがする必要があることのリスト。
- Nodejs をリポジトリに追加する
- Typescript Sdk をリポジトリに追加する
- プロジェクトから typescript ターゲットのインポートを削除します
- nodejs を使用して tsc.js を実行する exec タスクを追加します。
プロジェクトで使用している MSBuild xml の下を参照してください。
<!-- Target ignored as it will not work on appharbor -->
<!--<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" />-->
<Target Name="BuildTypeScript" BeforeTargets="build">
<Message Importance="high" Text="Running TypeScript Compiler using NodeJs" />
<Message Importance="high" Text="..\Vendors\nodejs\node.exe ..\Vendors\TypeScript\tsc.js --removeComments --declaration --module AMD --out $(TypeScriptOutFile) --target ES5 @(TypeScriptCompile)"/>
<Exec Command="..\Vendors\nodejs\node.exe ..\Vendors\TypeScript\tsc.js --removeComments --declaration --module AMD --out $(TypeScriptOutFile) --target ES5 @(TypeScriptCompile)"/>
</Target>