visual studio 2012 - ¿Typescript no se compila si está ubicado en una subcarpeta?
Tengo dos proyectos en VS2012. Uno creado como una "Aplicación HTML con Typescript" y uno (una DLL) donde añadí un archivo de Typescript a un proyecto existente (agregué el objetivo BeforeBuild al proyecto existente).
Cuando compilo el proyecto de la aplicación HTML, compila el TS a JS sin problemas y agrega el JS como contenido.
Cuando compilo mi DLL no obtengo ningún resultado del TSC... ni en la carpeta donde pongo el archivo TS ni en la raíz ni en ninguna otra carpeta... no obtengo ningún error ni otras pistas de lo que podría estar mal.
En las propiedades de ambos proyectos, el archivo TS se muestra como:
BuildAction: TypeScriptCompile
Copy to output....: Do not copy
En el archivo .csproj, la sección dentro del grupo de elementos se ve así:
<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>
Me parece que el compilador TSC no interpreta la ruta correctamente. ¿Alguien puede verificarlo?
Gracias
Respuesta #1
Cuando agrego TypeScript a un proyecto existente, tiendo a agregar lo siguiente a mi archivo de proyecto:
<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>
Fuente
Pero si usas la extensión Web Essentials de Visual Studio, compilará el TypeScript a JavaScript al guardar, lo que creo que da un mejor flujo al desarrollo.
