2016-12-07 123 views
-1

我正在使用VS2015 UpdateScriptScriptScript 2來安裝VS。我有一個簡單的ASP.NET Core MVC Web應用程序和幾個非常簡單的打字稿文件。在我的項目的根目錄中,我有一個帶有「compileOnSave」的tsconfig.json文件:true。在編譯保存期間VS2015使用哪種Typescript編譯器

我已經在目錄中安裝了我的電腦上打字稿的4個版本(1.0,1.7,1.8和2.0):C:\ Program Files文件(x86)的\微軟的SDK \打字稿

如果我保存打字稿文件,然後它被正確編譯爲一個同名的javascript文件。如果我然後刪除任何生成的JavaScript文件並執行項目的構建,然後再打字稿文件正確編譯爲JavaScript文件。

如果我將目錄「C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript」重命名爲「C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript.bak」,以便打印機編譯器不可用,然後在項目生成我得到錯誤:「C:\ Program Files文件(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ TypeScript \ Microsoft.TypeScript.targets(176,5):錯誤MSB6003:指定的任務可執行文件「tsc.exe」無法運行,找不到路徑'C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript'的一部分。「如預期的那樣,。但是,編輯並保存打字稿文件仍然會導致在保存工作和生成更新的JavaScript文件時進行編譯。

在這些情況下,Visual Studio如何查找打字稿編譯器以便在保存時執行編譯?

回答

0

Visual Studio使用項目csproj文件來確定要使用哪種版本的打字稿。如果您在編輯器中打開該文件,則可以查找標記TypeScriptToolsVersion以查看您的項目使用的版本。

礦看起來像這樣:

<TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion> 
然後

Visual Studio中查找文件夾C(在我的案件2.0)符合此版本號的文件夾:\ Program Files文件(x86)的\微軟的SDK \打字稿,並在這個文件夾中尋找編譯器的可執行文件:tsc.exe。

+0

我明白,但我的觀點是,我已將Typescript目錄重命名爲Typescript.bak,並且保存上的編譯仍可正常工作。 – Geoff