web-dev-qa-db-fra.com

Continuez à obtenir "tsc.exe" avec le code 1

Dès que j'ajoute un fichier tsconfig.json à ma solution Web Visual Studio 2015, j'obtiens l'erreur ci-dessus.

En outre, cela empêche le compilateur de générer à nouveau des fichiers js, même lorsque je définis "compileOnSave": true.

Lorsque je double-clique sur l'erreur, cela me prend dans le fichier Microsoft.TypeScript.Targets qui contient de nombreux problèmes, tels que le groupe d'éléments inconnus "TypeScriptCompile". Dans la liste des erreurs, ils apparaissent comme des avertissements, mais ils existent si je possède ou non un fichier tsconfig.json.

Existe-t-il un moyen de le résoudre ou d’obtenir plus d’informations sur le problème?

71
Frank Cannon

Installez ces 2 packages NuGet:

Microsoft.TypeScript.MSBuild et Microsoft.TypeScript.Compiler

Il met à jour votre projet avec la définition de tâche MSBuild et le compilateur TS et résout le problème de compilation.

129
Dmitry Vasiliev

Pour moi, l'installation de TypeScript pour Visual Studio a été corrigée, bien que TypeScript soit déjà installé globalement sur ma machine via npm

58
Mohamed Badr

J'utilise un projet .NET Core 1.0 et j'ai rencontré le même code d'obtention du code de retour tsc.exe de 1. Mon problème était un tsconfig.json invalide. Cependant, msbuild ne fournit pas ces détails.

La méthode la plus simple consiste à activer la sortie détaillée dans Visual Studio -> Tools -> Options -> Projects and Solutions -> Build and Run -> MSBuild project build output verbosity. Changez ceci en Detailed. Après la compilation, recherchez tsc.exe dans la fenêtre de sortie pour voir l’erreur réelle générée par tsc.

45
thoean

Cela a fonctionné pour le serveur de génération TeamCity avec Visual Studio 2015 lorsque j'avais mis à niveau un projet de TypeScript 1.8 à 2.3

  • Installer le paquet Microsoft.TypeScript.MSBuild
  • Mettez à jour *.csproj comme suit

    1. Mettre à niveau TypeScriptToolsVersion vers 2.3 (dans ce cas)
    2. Supprimez deux lignes de Import Project faisant référence à Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets

Remarque

  • La suppression des éléments import est importante car ils font référence à TypeScript installé dans le dossier %PROGRAMFILES(X86)%.
  • L'installation du package ajoute les éléments import qui font référence au dossier packages, ce qui rend votre compilation plus portable.
4
fiat

J'ai eu ce problème aussi après avoir utilisé quelques tutoriels standard Angular/TypeScript. La solution était aussi simple que de mettre à jour TypeScript dans Visual Studio.

Pour une raison quelconque, la valeur par défaut est maintenant 1.8.4. et il ne vous permet pas de le mettre à jour automatiquement à partir de Visual Studio Extensions et ne dit pas qu'il est obsolète. Vous venez de le télécharger depuis ici et installez vous-même la dernière version. Lien de téléchargement peut changer dans le futur bien sûr.

P.S. Je pense que le problème a été causé par le fait que certaines options qui n'existaient pas dans un compilateur plus ancien ont été utilisées.

4
Ilya Chernomordik

J'ai eu le même problème et ce qui s'est passé dans mon cas, c'est que le fichier .ts était dans le projet, mais ce n'était pas sur le système de fichiers. Quelque chose comme ça missing file on filesystem . Donc supprimé le fichier du projet et tout a recommencé à fonctionner.

3
Jernej Novak

L’installation de Microsoft.TypeScript.MsBuild a résolu le problème pour moi, mais uniquement si j’installais l’avant-dernière version. La version actuelle (stable) est 2.0.6, et le problème persiste après l’avoir installée. Lorsque je suis revenu au 1.8.11, le problème a disparu.

1
Jon Crowell

J'ai eu le même problème. Corrigé en supprimant les éléments suivants du fichier de projet

<TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>
1
Nirbhay Jha

Déplacez tous les fichiers contenus dans C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Typ‌​escript dans un nouveau dossier (par exemple backup), puis réessayez. Cela amènera MSBuild à sélectionner tsc.exe dans le dossier versionné de manière appropriée au lieu d'utiliser celui de la C:\Program Files (x86)\Microsoft SDKs\TypeScript.

1
Josh M.

Il est nécessaire de réinstaller/mettre à niveau TypeScript sur votre système.

Comme je faisais face au même problème et après l’installation de TypeScript, l’erreur a de nouveau été résolue, car tsc.exe était manquant dans (C:\Program Files (x86)\Microsoft SDK\TypeScript\2.1).

0
Manveer Singh

J'étais confronté au même problème, et la raison en était que 2 développeurs travaillaient sur le même projet. Lorsqu'il a ajouté de nouveaux fichiers .ts dans le projet et quelques angular contrôleurs. Le projet a été reconstruit et a fonctionné comme prévu. Cependant, lorsqu'un autre développeur a essayé de prendre le dernier code source sur sa machine, il obtenait la même erreur "tsc.exe" avec le code 1. La raison en était donc les fichiers créés/ajouté dans le contrôle du code source ne s'affichait pas ajouté sur la solution de développeur 2. Essayez de vérifier si tous les fichiers .ts, .js sont à jour sur la solution des deux développeurs.

0
Sagar Pawar

J'ai eu le même problème sur une solution utilisant AngularJS mais sans le compilateur (en dessous de 2.x donc pas nécessaire). J'ai simplement supprimé le fichier index.d.ts du dossier de script et tout était ok (aucun paquet NuGet n'est nécessaire)

0

Double-cliquer sur l'un des fichiers .ts à l'intérieur de Visual Studio a fonctionné pour moi. Il est ensuite apparu avec une boîte de dialogue me demandant si je voulais mettre à jour le projet avec la dernière version de TS. Après cela, le projet a bien fonctionné et l’erreur de compilation a disparu.

0
Crazometer

Nous utilisons npm et angular-cli extérieur au VS pour transpiler notre TypeScript. J'ai rencontré le problème décrit ci-dessus sur la seule boîte de dev ayant l'extension Web Essentials chargée. Après avoir tenté en vain l'installation, puis désinstallé les nugets MS et l'extension TypeScript décrits ci-dessus, la désinstallation de Web Essentials a finalement fait l'affaire.

0
perlyking