Typescript TS5042 Build: Option 'project' kann nicht mit Quelldateien in einer Befehlszeile gemischt werden

8

Ich erhalte den folgenden Fehler über alle Typoskript-Projekte, die ich versuche auszuführen.

%Vor%

Ich habe eine kostenlose Typescript Angular2 Vorlage heruntergeladen, habe sie ausgeführt und dieser Fehler erscheint sofort.

Hat es etwas mit meiner globalen Typoskript-Installation zu tun?

    
user1781272 05.03.2016, 10:36
quelle

7 Antworten

3

Ich habe eine Lösung gefunden, die für mich funktioniert. Ich habe mehr als eine Version von Visual Studio unter c: \ Programme (x86) \ MSBuild \ Microsoft \ VisualStudio \

Öffnen Sie v15.0 und kopieren Sie den Typescript-Ordner in den v14.0-Ordner.

    
user1781272 06.03.2016, 11:00
quelle
7

Ich habe den gleichen Fehler bekommen, aber wenn ich jeden Platz in meinem Ordnernamen entfernt habe, wie im Pfad vom TSC Compiler gezeigt, wird er jetzt erfolgreich gebaut. Siehe auch dieses GitHub-Problem .

    
Rahul Singh Bhadhoriya 23.08.2017 03:07
quelle
4

Der Befehl tsc kann auf zwei Arten ausgeführt werden:

  1. Mit einem Parameter project , der auf das Verzeichnis verweist, das eine tsconfig.json enthält. Zum Beispiel: tsc --project ./app . Der Speicherort von tsconfig.json bestimmt den Satz von Dateien, die in die Kompilierung einbezogen werden sollen. Hier finden Sie weitere Informationen zum Thema tsconfig.json : Ссылка
  2. Mit einer Liste von Dateien als Standardparameter. Zum Beispiel: tsc MyFile1.ts MyFile2.ts MyFile3.ts .

Diese beiden Optionen sind nicht miteinander kompatibel, da beide versuchen zu definieren, welche Dateien kompiliert werden sollen.

Welchen Befehl verwenden Sie, um Ihr Projekt zu kompilieren? Oder verwenden Sie eine IDE, die den Build für Sie ausführt?

Hier ist die Referenz für die tsc Compileroptionen.

    
Nathan Friend 05.03.2016 14:59
quelle
2

Die Lösung für mich war ziemlich einfach. Ich schaute auf den Dateipfad für mein Projekt und erkannte, dass einer der Ordnernamen im Dateipfad ein Leerzeichen enthielt. Wenn ich den Ordner ohne das Leerzeichen umbenannte, funktionierte TSC-p gut. Es sieht so aus, als würde TSC beim Parsing von Befehlszeilenargumenten es in Leerzeichen aufteilen, sodass es den Teil meines Dateipfadnamens nach dem Leerzeichen als eine Datei zum Kompilieren sieht.

    
Horkin 19.07.2017 14:06
quelle
0

Wenn es hilfreich sein könnte, habe ich ein kleines Update. Wie in den vorherigen Ausgaben erklärt, nachdem ich die Probleme mit 1.8 gesehen habe, habe ich versucht, es zu deinstallieren und 1.7 neu zu installieren, um meine Projekte zu arbeiten, aber selbst die Installation war in Ordnung Ich hatte verschiedene Probleme beim Übersetzen dieser asp.net 5 Apps. Ich habe versucht, vs zu reparieren, 1.7 und 1.8 in beliebiger Reihenfolge zu deinstallieren und neu zu installieren, ohne irgendwelche Änderungen. Am Ende überprüfte ich das Verzeichnis C: \ Programme (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ TypeScript und ich fand, dass am Ende der Deinstallation jeder Version von Typoskript habe ich diese

suchen Sie nach diesem Ordner und löschen Sie An dieser Stelle habe ich versucht, dieses Verzeichnis vollständig zu entfernen und erneut versucht, typescript 1.7.6 zu deinstallieren. und jetzt funktioniert es gut. Ich habe versucht, dies aufzuräumen und 1.8 Beta zu installieren, aber ich habe weiterhin das gleiche Problem, aber zumindest kann ich nun an asp.net 5 Projekten arbeiten. Ich denke, dass das Problem, das auf die vorherige Version zurückwechselt, nicht mindestens die TypeScript.Tasks.dll überschreiben konnte, die ein inkonsistentes Verhalten erzeugt. Könnte möglich sein, um nächtliche Builds von 1.8 zu machen.

und der Fehler TS5042 lösen. Ich hoffe, das hilft dir.

    
quelle
0

Verwenden Sie Powershell nicht. Benutze den alten Befehl.com in deiner Konfiguration.

%Vor%     
Constantino Jacob 11.01.2018 01:51
quelle
0

Sie müssen den Benutzereinstellungen für Visual Studio Code "terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe" hinzufügen.

    
Fernando Pérez Lara 25.02.2018 22:21
quelle