visual studio 2012 - Typescript kompilerar inte om det är placerat i en undermapp?
Jag har två projekt i VS2012. Ett skapades som en "HTML-app med Typescript" och ett (en DLL) där jag lade till en Typescript-fil till ett befintligt projekt (jag lade till BeforeBuild-målet till det befintliga projektet).
När jag kompilerar HTML App-projektet kompilerar det TS till JS utan problem och lägger till JS som innehåll.
När jag kompilerar min DLL får jag inga resultat från TSC... varken i mappen där jag lade TS-filen eller i roten eller någon annan mapp... jag får inga felmeddelanden eller andra ledtrådar om vad som kan vara fel.
I egenskaperna för båda projekten visas TS-filen som:
BuildAction: TypeScriptCompile
Copy to output....: Do not copy
I .csproj-filen ser avsnittet inuti itemgruppen ut så här:
<ItemGroup>
...(Lots of other "EmbeddedResources" in this ItemGroup)
<TypeScriptCompile Include="C-DCommunication\ClientBin\CDEHTML5\cdeUX5.ts" />
<Content Include="C-DCommunication\ClientBin\CDEHTML5\cdeUX5.js">
<DependentUpon>cdeUX5.ts</DependentUpon>
</Content>
...(more files in my ItemGroup)
</ItemGroup>
Det verkar för mig som om TSC-kompilatorn inte tolkar sökvägen korrekt. Kan någon verifiera?
Tack
Svar #1
När jag lägger till TypeScript i ett befintligt projekt tenderar jag att lägga till följande i min projektfil:
<ItemGroup>
<AvailableItemName Include="TypeScriptCompile" />
</ItemGroup>
<ItemGroup>
<TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
Källa
Men om du använder Web Essentials Visual Studio-tillägget kommer det att kompilera TypeScript till JavaScript när du sparar, vilket jag tycker ger ett bättre flöde i utvecklingen.
