今天我更新到TypeScript 1.6,並且現在CopyPipelineFiles
任務在嘗試部署Web應用程序時失敗。在TypeScript 1.6升級後無法從VS2013(或TeamCity)部署
我在Web項目的設置中(通過csproj文件中的TypeScriptOutDir
條目)將TypeScript的編譯的JavaScript輸出目錄重定向到scripts\compiled\
,並且直到現在這一直運行良好。正在正確編譯Typescript文件並正確編譯目錄(即web項目目錄下的scripts\compiled\
)。
但是,CopyPipelineFiles
任務似乎對TypeScript文件的根目錄感到困惑,現在始終認爲它是Web項目的根目錄。因此,它將文件夾添加到不存在的路徑中,例如編譯scripts\foo.ts
而不是抓取scripts\compiled\foo.js
MSBuild正在查找\scripts\compiled\scripts\foo.js
。我已經嘗試在輸出目錄中使用$(ProjectDir)
,並且我還嘗試將TypeScriptRootDir
設置爲適當的根目錄(例如scripts\
),但問題仍然存在。
我能夠解決這種情況的唯一方法是刪除輸出目錄,並允許編譯的JavaScript文件輸出到TypeScript對應位置的相同位置。
以下是我收到了真正的錯誤,在這裏將輸出文件的路徑將是scripts\account\app.ts
的例子:
複製文件腳本編譯\ \腳本\帳戶\ app.js到OBJ \ Release \ AspnetCompileMerge \ Source \ scripts \ compiled \ scripts \ account \ app.js失敗。找不到路徑的一部分「腳本\編譯\腳本\帳戶\ app.js」
這可能發生在打字稿1.6所有本地的機器上安裝,以及安裝了1.6我們的TeamCity構建服務器。