我在Visual Studio中有一個現有的TypeScript項目(Express for Web)。這個項目是用TypeScript 0.8.1創建的。爲什麼Visual Studio中的TypeScript項目的構建忽略TypeScriptTarget參數?
某些類使用屬性,因此需要--target ES5
編譯器參數。
我剛剛更新了插件到TypeScript 0.8.2,並且遵循了定義here的步驟來啓用「保存時編譯」。這如所描述的那樣工作,包括編譯使用屬性的類。
當我嘗試生成項目,但是,我得到的錯誤,如: Config.ts (32,6): Property accessors are only available when targeting ES5 or greater
這裏是我的.csproj文件中的相關部分:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptIncludeComments>true</TypeScriptIncludeComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
</PropertyGroup>
完整的文件可以看出here。
爲什麼它可以編譯單個文件,但如果我編譯或重建整個項目,它不會起作用嗎?
編輯:更新代碼片段以顯示<Import>
標籤也包含在內。
編輯2:添加到完整項目文件的要點的鏈接。
謝謝瑞安。是的,我還添加了標記,如Save-on-Compile wiki頁面中所述。 –
2013-02-25 20:58:58
你可以發佈你的整個項目文件(也許在要點或什麼的)? – 2013-02-25 21:51:46
我已通過指向完整項目文件的鏈接更新了該問題。 – 2013-02-25 22:09:29