Как отключить компиляцию TypeScript в проектах .Net Core?
У меня есть проект Visual Studio 2015 ASP.Net Core, содержащий папку из typescript файлов.
Мой вопрос: как я могу запретить VS пытаться скомпилировать файлы typescript? Я не хочу, чтобы они были скомпилированы, либо для сохранения, либо для сборки.
Я попытался добавить проект ниже, но он, похоже, не имеет никакого влияния.
<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
</PropertyGroup>
В настоящее время VS выдает ошибку, tsc.exe exited with code 1
, но, как указано, я не хочу, чтобы компилятор TS вообще запускался.
Я могу отключить typescript.targets, которые использует VS, но это непрактично, потому что мне это нужно для других проектов.
Ответы
Ответ 1
Я потратил некоторое время на поиск в файле C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets
, и нашел свойство поддержки, которое, похоже, выполняет эту работу.
Добавьте это свойство в проект, отредактировав файл проекта напрямую и добавив эту группу свойств:
<PropertyGroup>
<!-- Makes the TypeScript compilation task a no-op -->
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
EDIT: @Chopin указал в комментариях, что официальный документ для этого и других Typescript связанных с MSBuild опций здесь.
Ответ 2
этот трюк действительно работает для новой версии MSBuild. Однако, если у вас все еще есть более старые версии MSBUild, на сервере сборки или около того. Вы также хотите удалить эти строки из файла 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')" />
Привет