Beenden Sie "tsc.exe" weiterhin mit Code 1

73

Sobald ich meiner Visual Studio 2015-Weblösung eine tsconfig.json-Datei hinzufüge, wird der obige Fehler angezeigt.

Dies verhindert auch, dass der Compiler js-Dateien neu generiert, selbst wenn ich "compileOnSave" setze: true.

Wenn ich auf den Fehler doppelklicke, gehe ich in die Datei Microsoft.Typescript.Targets, die viele Probleme enthält, z. B. die unbekannte Elementgruppe "TypeScriptCompile". In der Fehlerliste werden diese als Warnungen angezeigt, sie sind jedoch vorhanden, unabhängig davon, ob ich eine tsconfig.json-Datei habe oder nicht.

Gibt es eine Möglichkeit, das Problem zu lösen oder weitere Informationen über das Problem zu erhalten?

Frank Cannon
quelle

Antworten:

133

Installieren Sie diese 2 NuGet-Pakete:

Microsoft.TypeScript.MSBuild und Microsoft.TypeScript.Compiler

Es aktualisiert Ihr Projekt mit der MSBuild-Taskdefinition und dem TS-Compiler und löst das Kompilierungsproblem

Dmitry Vasiliev
quelle
2
Du hast mich nach einer langen Reise durch Stackoverflow gerettet
Daniel Hardt
13
Arbeite
11
Vielen Dank. Es ist schwieriger, Visual Studio und TypeScript dazu zu bringen, gut miteinander zu spielen, als es eigentlich sein sollte!
JMK
15
Nach der Installation von "Microsoft.TypeScript.MSBuild" wird folgende Fehlermeldung angezeigt: Der Parameter "OutputLogFile" wird von der Task "VsTsc" nicht unterstützt. Stellen Sie sicher, dass der Parameter für die Aufgabe vorhanden ist und eine einstellbare öffentliche Instanzeigenschaft ist. Die Task "VsTsc" konnte nicht mit ihren Eingabeparametern initialisiert werden. Die Installation des zweiten Pakets führt zu nichts.
Ahmadalibaloch
4
Es wird durch die Installation TypeScript 2.0.6 for 2015aus dem Visual Studio-Menü gelöstTools->Extensions and Updates
ahmadalibaloch
60

Bei der Installation von TypeScript für Visual Studio wurde dies behoben, obwohl TypeScript bereits global auf meinem Computer über installiert wurdenpm

Mohamed Badr
quelle
2
Ich musste dieses und 2 Nuget-Pakete installieren, die in einer anderen Antwort erwähnt wurden, um VS2015 glücklich zu machen.
Bob
Das hat bei mir funktioniert. Die anderen Änderungen haben nicht geholfen, bis ich die neueste Version von TS für VS installiert habe.
user1751825
Ja, das neueste Typescript für VS 2015 (2.2.2.0 jetzt) ​​zu bekommen, hat das Problem auch für mich behoben
Serj Sagan
45

Ich verwende ein .NET Core 1.0-Projekt und bin auf die gleiche Situation gestoßen, in der ich einen tsc.exeRückkehrcode von 1 erhalten habe. Mein Problem war ungültig tsconfig.json. Msbuild bietet diese Details jedoch nicht an.

Der einfachste Weg, dies herauszufinden, besteht darin, eine detaillierte Ausgabe in zu aktivieren Visual Studio -> Tools -> Options -> Projects and Solutions -> Build and Run -> MSBuild project build output verbosity. Ändern Sie dies in Detailed. Suchen Sie nach dem Kompilieren tsc.exeim Ausgabefenster nach dem tatsächlichen Fehler, den tsc ausgelöst hat.

thoean
quelle
2
+1 Nachdem ich die Ausführlichkeit in detailliert geändert hatte, fand ich die Nachricht TS6046:Build:Argument for '--module' option must be 'commonjs', 'amd', 'system', 'umd', or 'es6'. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie es aus Properties > TypeScript Buildund ändern Sie es in CommonJSunter. Module SystemAlles begann wieder zu funktionieren.
Rsbarro
3
Vielen Dank, dass Sie beschrieben haben, wie das Problem diagnostiziert werden kann. IMO sollte dies die akzeptierte Antwort sein.
David
1
@ David Ich stimme zu. Soweit es scheint, könnte alles seincode 1
Shockwaver
Ich stimme auch zu. Dies führte mich zu dem Fehler 'Unbekannte Compileroption' listemittedfiles '' und einem SO-Fix.
Ressource
4

Ich hatte dieses Problem auch, nachdem ich einige Standard-Angular / Typescript-Tutorials verwendet hatte. Die Lösung war so einfach wie das Aktualisieren von Typoskript in Visual Studio.

Aus irgendeinem Grund ist der Standard jetzt 1.8.4. Sie können es nicht automatisch über Visual Studio Extensions aktualisieren und es wird nicht als veraltet bezeichnet. Laden Sie es einfach von hier herunter und installieren Sie die neueste Version selbst. Der Download-Link kann sich natürlich in Zukunft ändern.

PS Ich denke, das Problem wurde durch die Tatsache verursacht, dass einige Optionen verwendet wurden, die in älteren Compilern nicht vorhanden waren.

Ilya Chernomordik
quelle
4

Dies funktionierte für den TeamCity-Buildserver mit Visual Studio 2015, als ich ein Projekt von Typescript 1.8auf aktualisiert hatte2.3

  • Installationspaket Microsoft.TypeScript.MSBuild
  • Aktualisieren Sie *.csprojwie folgt

    1. Upgrade TypeScriptToolsVersionauf 2.3(in diesem Fall)
    2. Entfernen Sie zwei Zeilen der Import Projectgenannten Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets

Hinweis

  • Das Entfernen der importElemente ist wichtig, da sie sich auf TypeScript beziehen, das im %PROGRAMFILES(X86)%Ordner installiert ist .
  • Durch die Installation des Pakets werden importElemente hinzugefügt, die auf den packagesOrdner verweisen, wodurch Ihr Build portabler wird
Fiat
quelle
3

Ich hatte das gleiche Problem und in meinem Fall war die Datei .ts im Projekt, aber nicht im Dateisystem. So etwas in der Art fehlende Datei im Dateisystem. Also entfernte ich die Datei aus dem Projekt und alles begann wieder zu funktionieren.

Jernej Novak
quelle
Dies war auch meine Lösung. In meinem Fall hat ein Mitarbeiter, der TypeScript verwendet, häufig Änderungen an einigen Dateien vorgenommen und einen Verweis auf eine * .ts-Datei in der Projektdatei belassen. Dies sollte die richtige Antwort für diejenigen sein, die den Fehler googeln und sich hier befinden, aber kein TypeScript in ihrem Projekt verwenden.
Pflugs
1

Durch die Installation von Microsoft.Typescript.MsBuild wurde das Problem für mich behoben, jedoch nur, wenn ich die vorletzte Version installiert habe. Die aktuelle (stabile) Version ist 2.0.6, und nachdem ich sie installiert habe, blieb das Problem bestehen. Als ich zu 1.8.11 zurückkehrte, verschwand das Problem.

Jon Crowell
quelle
1

Ich hatte das gleiche Problem. Es wurde behoben, indem Folgendes aus der Projektdatei entfernt wurde

<TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>
Nirbhay Jha
quelle
Ich habe meine ähnlich repariert ... die .csproj-Datei bearbeitet, aber die Version von TypeScript auf 1.8 geändert (was ich installiert hatte). Es muss mit dem übereinstimmen, was Sie auf Ihrem Computer installiert haben.
Tony
1

Verschieben Sie alle Dateien C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Typ‌​escriptin einen neuen Ordner (z. B. backup) und versuchen Sie es erneut. Dies führt dazu, dass MSBuild tsc.exeaus dem entsprechend versionierten Ordner auswählt, anstatt den im Ordner zu verwenden C:\Program Files (x86)\Microsoft SDKs\TypeScript.

Josh M.
quelle
0

Ein Doppelklick auf eine der .tsDateien in Visual Studio hat bei mir funktioniert. Daraufhin wurde ein Dialogfeld angezeigt, in dem Sie gefragt wurden, ob ich das Projekt auf die neueste Version von TS aktualisieren möchte. Danach wurde das Projekt gut erstellt und der Kompilierungsfehler war verschwunden.

Crazometer
quelle
0

Typescript muss in Ihrem System neu installiert / aktualisiert werden.

Da ich vor dem gleichen Problem stand und nach der erneuten Installation von Typescript der Fehler behoben wurde, fehlte tsc.exe in (C: \ Programme (x86) \ Microsoft SDKs \ TypeScript \ 2.1).

Manveer Singh
quelle
0

Wir verwenden npmund angular-cliaußerhalb von VS, um unser Typoskript zu transpilieren. Ich bin auf das oben beschriebene Problem auf der einzigen Entwicklungsbox gestoßen, auf der die Web Essentials-Erweiterung geladen war. Nach dem Versuch, die oben beschriebenen MS-Nugets und die TypeScript-Erweiterung zu installieren und anschließend zu deinstallieren, war die Deinstallation von Web Essentials endlich erfolgreich.

perlyking
quelle
0

Ich hatte das gleiche Problem und der Grund war, dass zwei Entwickler an demselben Projekt arbeiteten, als er dem Projekt und einigen Winkelcontrollern neue .ts-Dateien hinzufügte. Das Projekt wurde wie erwartet neu erstellt und ausgeführt. Als jedoch ein anderer Entwickler versuchte, den neuesten Quellcode auf seinem Computer zu verwenden, wurde beim erneuten Erstellen der gleiche Fehler "tsc.exe" mit Code 1 beendet. Grund dafür waren die in der Quellcodeverwaltung erstellten / hinzugefügten Dateien wurde nicht auf Entwickler 2 Lösung hinzugefügt. Bitte versuchen Sie zu überprüfen, ob alle .ts-, .js-Dateien auf beiden Entwicklerlösungen auf dem neuesten Stand sind.

Sagar Pawar
quelle
0

Ich hatte das gleiche Problem bei einer Lösung mit AngularJS, aber ohne Compiler (unter 2.x, also nicht erforderlich). Ich habe einfach die index.d.ts aus dem Skriptordner entfernt und es war in Ordnung (keine NuGet-Pakete erforderlich)


quelle
0

Wenn Sie beim Aktualisieren von Bootstrap 3 auf 4 auf dieses Problem stoßen, löschen Sie einfach die im Skriptordner erstellte .ts-Datei und erstellen Sie sie erneut.

subramanya46
quelle