2016-05-07 124 views
3

我有一些打字稿文件的VS2015和ASP.NET 5 RC1項目。文件位於腳本文件夾中,tsconfig也位於此文件夾中。當我保存打字稿文件時,會生成js文件並且一切正常。但js文件不會在構建過程中生成。打字稿編譯不起作用

我有VS2013也安裝了一些舊的項目使用打字稿,所以可能會有一些問題,因爲我有許多TypeScript版本和許多VS版本。

如何在編譯期間對編譯打字稿進行故障排除?生成日誌沒有提及打字稿。複選框「在編譯時編譯TypeScript」是項目設置已啓用。在舊的ASP.NET項目中,TypeScript通過csproj中的自定義目標啓用,並且很容易排除故障。但是在xproj中,我沒有看到任何打字稿相關的東西。

+0

你有一個目標進口Microsoft.Typescript.targets? –

+0

@mohamedhegazy不能,只能導入Microsoft.DNX.Props和Microsoft.DNX.targets – VorobeY1326

+0

你可以用'/ verbosity:diagnostic'分享生成日誌嗎? –

回答

2

我目前的工作解決方案是添加手動調用TypeScript編譯器的postbuild事件。

project.json:

"scripts": { 
    "postbuild": ["tsc -p scripts\\tsconfig.json"] 
} 

(假設你有你的PATH變量TSC)

-1

確保這是您的解決方案文件添加 「導入項目=」 $(MSBuildExtensionsPath)\ $ (MSBuildToolsVersion)\ Microsoft.Common.props「Condition =」Exists('$(MSBuildExtensionsPath)\(MSBuildToolsVersion)\ Microsoft.Common.props')「

+0

您的意思是項目文件,而不是解決方案文件?我在xproj文件中沒有這一行,但添加它並沒有改變。 ASP.NET 5是否需要此導入?我認爲只有舊版本的ASP.NET需要它。 – VorobeY1326

+0

sln文件。這些內置擴展爲VS-15,但確保這些不被修改。 要編輯sln文件 - 轉到解決方案資源管理器 - >卸載項目 - >編輯 - >重新加載 –

+0

只有鏈接到SLN中的項目。我應該在哪裏添加導入? http://pastebin.com/ZBg1TdEA – VorobeY1326

0

我有完全相同的問題。編輯tsconfig,並放置compileOnSave BEFORE comp在tsconfig ilerOptions:

{ 
    "compileOnSave": true 
    "compilerOptions": { 
     .... 
    }, 
}