如何在 .Net Core 项目中禁用 TypeScript 编译?

How to disable TypeScript compilation in .Net Core projects?

我有一个 Visual Studio 2015 ASP.Net 核心项目,其中包含一个打字稿文件文件夹。

我的问题是如何防止 VS 尝试编译 TypeScript 文件?我不希望它们在保存或构建时被编译。

我试过在下面添加项目设置,但似乎没有任何影响。

<PropertyGroup>
  <TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
</PropertyGroup>

目前 VS 正在抛出一个错误,tsc.exe exited with code 1,但如前所述,我根本不希望 TS 编译器 运行。

我可以禁用 VS 使用的 typescript.targets,但这不实用,因为我需要它用于其他项目。

我花了一些时间在 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>

编辑: @Chopin 在评论中指出这个和其他 Typescript MSBuild 相关选项的官方文档是 here.

这个技巧确实适用于新版本的 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')" />

此致