Как отключить компиляцию 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')" />

Привет