TypeScriptCompile costruire l'azione non sembra di fare nulla

voti
13

Quando aggiungo un nuovo file dattiloscritto per la mia soluzione, il sistema ben mi dà un (preriempita) File ts con i file .js appena sotto. Questa configurazione mi fa pensare che la conversione da dattiloscritto a JavaScript è automatico. Questa ipotesi è rafforzata dal fatto che il file .ts ha una configurazione d'azione 'TypeScriptCompile'. Tuttavia, indipendentemente da quello che faccio (salvare una mutate ts, compilare il progetto ...), non succede nulla davvero.

So che posso aggiungere passi precompilati per il progetto, ma mi piacerebbe davvero l'azione TypeScriptCompile accumulo a calci automaticamente in modo che ho solo bisogno di salvare il file per il file .js da rigenerare. Che cosa devo fare per fare 'TypeScriptCompile' di lavorare come previsto / desiderato?

È pubblicato 02/10/2012 alle 10:41
fonte dall'utente
In altre lingue...                            


5 risposte

voti
9

Ho avuto lo stesso problema quando si cerca di utilizzare dattiloscritto in un progetto MVC4, ma risolto il problema!

Mettere le seguenti righe nel file di progetto utilizzando il vostro editor di testo preferito. C'è un commentata BeforeBuildsezione di solito già lì alla fine del file proj, che è possibile sostituire con queste righe. Ricaricare il progetto e siete a posto. I file .js verranno generati durante la compilazione.

<Target Name="BeforeBuild">
  <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

Avere un buon sguardo al percorso esatto, però, potrebbe essere diverso (ad esempio, se si dispone di una versione diversa del Carattere tipografico SDK). Allo stesso modo, se tsc.exeè già presente nella PATHvariabile d'ambiente, è possibile utilizzare un comando versione-agnostic:

<Target Name="BeforeBuild">
  <Exec Command="&quot;tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

Infine, come notato nei commenti, si potrebbe desiderare di aggiungere -c per preservare commenti a riga di comando. Questo permette di strumenti come cassette e delle risorse di asp.net bundling per recuperare i riferimenti e rendere le cose nel giusto ordine.

Risposto il 02/10/2012 a 15:10
fonte dall'utente

voti
1

Se avete ancora problemi di compilazione dei file dattiloscritto , si potrebbe voler controllare un app Ho appena rilasciato. È possibile compilare i file con appena 1 click di un pulsante.

Risposto il 25/10/2012 a 17:37
fonte dall'utente

voti
1

Alcune persone hanno avuto questo problema, me compreso. La correzione è quello di installare manualmente il dattiloscritto di estensione Visual Studio .

Il programma di installazione è qui:

"C: \ Program Files (x86) \ Microsoft SDK \ dattiloscritto \ 0.8.0.0 \ TypeScriptLanguageService.vsix"

o qui su macchine x86:

"C: \ SDK Programmi \ Microsoft \ dattiloscritto \ 0.8.0.0 \ TypeScriptLanguageService.vsix"

Risposto il 02/10/2012 a 20:38
fonte dall'utente

voti
0

Se si utilizza Visual Studio 2013, con ultima tipografico 1.5, potrebbe essere necessario installare strumenti tipografico per Visual Studio . Ho anche recommed di installare Essentials Web che richiamerà Ts compilazione file di script su Save (oltre a molte altre caratteristiche più utili).

Seguite le fasi Visual Studio fa per i nuovi progetti web in .csproj file.

1) Proprietà Importa MSBuild tipografico aggiungendo seguente elemento sotto root Projectelemento:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

2) Importa MSBuild dattiloscritto costruire bersaglio

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />

3) la versione Configurare obiettivo dattiloscritto sotto Project/PropertyGroupelemento

<TypeScriptToolsVersion>1.5</TypeScriptToolsVersion> 
Risposto il 28/08/2015 a 11:19
fonte dall'utente

voti
0

Ok, ho reinstallato tutto, compreso il file VSIX. A quanto pare, quando ho "correre" il mio progetto ora, il file .ts viene automaticamente convertito in un file js (senza generazione personalizzata azioni). Va bene per ora. Sarebbe stato meglio se questi file seguono altri generatori di codice, nel senso che quando compilare il file di origine viene salvato. Vorrei scrivere la mia propria implementazione SingleFileGenerator per esso, ma non sa ancora come chiamare i .js da C #.

Risposto il 07/10/2012 a 10:44
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more