J'ai un projet Visual Studio 2015 ASP.Net Core qui contient un dossier de fichiers TypeScript.
Ma question est comment puis-je empêcher les VS d'essayer de compiler les fichiers TypeScript? Je ne veux pas qu'ils soient compilés, que ce soit sur save ou build.
J'ai essayé d'ajouter le paramètre de projet ci-dessous, mais cela ne semble pas avoir d'impact.
<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
</PropertyGroup>
Actuellement, VS génère une erreur, tsc.exe exited with code 1
, mais comme indiqué, je ne veux pas du tout que le compilateur TS s'exécute.
Je peux désactiver les TypeScript.targets utilisés par VS, mais ce n’est pas pratique, car j’en ai besoin pour d’autres projets.
J'ai passé un certain temps à fouiller dans le fichier C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets
et j'ai trouvé une propriété de support qui semble faire l'affaire.
Ajoutez cette propriété au projet en modifiant directement le fichier de projet et en ajoutant ce groupe de propriétés:
<PropertyGroup>
<!-- Makes the TypeScript compilation task a no-op -->
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
EDIT: @Chopin a souligné dans les commentaires que le document officiel de cette option et d'autres options liées à TypeScript MSBuild est ici .
cette astuce fonctionne en effet pour la nouvelle version de MSBuild. Cependant, si vous avez toujours d'anciennes versions de MSBUild, sur un serveur de build ou autre. Vous souhaitez également supprimer ces lignes du fichier csproj.
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
Cordialement