VS 2015 和 msbuild 抑制打字稿错误

E.M*_*eir 1 asp.net msbuild typescript visual-studio-2015

在我使用的解决方案中,有一个项目大量使用打字稿,我试图让这个项目通过 build 以便在其上运行 msbuild..

已经尝试编辑.csproj使用打字稿的项目文件并向其添加属性<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

<PropertyGroup>元素下,但这没有帮助。也尝试过:<TypeScriptEnabled>false</TypeScriptEnabled> 这也没有帮助。

如何将 VS2015 设置为忽略,typescript 以及我可以向“msbuild”命令添加什么以使其也忽略typescript

这是构建后的错误列表选项卡: 错误列表

这是构建后的输出选项卡: 在此处输入图片说明

Leo*_*SFT 5

如何将 VS2015 设置为忽略打字稿,以及我可以向“msbuild”命令添加什么以使其也忽略打字稿?

不确定那篇文章中的所有示例对您不起作用的原因,我<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>在 Visual Studio 2015 上测试了该属性并且它工作正常。为了确保您正确操作,我想提供有关此方法的详细信息,您可以查看它。

添加节点:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Run Code Online (Sandbox Code Playgroud)

进入<PropertyGroup>.csproj 文件中的第一个,如下所示:

<PropertyGroup>
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  <ProductVersion>
  </ProductVersion>
  ....
  <NuGetPackageImportStamp>
  </NuGetPackageImportStamp>
  <TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
  <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

保存此设置后,重新加载您的项目,重新构建项目(使用 MSBuild 项目构建输出详细程度为 Detail),您将在输出窗口中看到构建日志:

跳过 TypeScript 编译,因为 TypeScriptCompileBlocked 属性设置为“true”。

在此处输入图片说明

注:版本TypeScript tools for Visual Studio为1.8.36.0

更新:

然后我查看了“输出”选项卡,但没有包含文本“打字稿”的行,那里的行与它无关

您应该将 MSBuild 项目构建输出详细程度更改为详细信息,然后在输出窗口中检查登录:

在此处输入图片说明

我想提供另一种方法来抑制打字稿错误:

选择 TypeScript 文件并将其 ContentType 更改为 'Content' 而不是 'TypeScriptCompile',那么语言服务应该不会给你错误。

  <ItemGroup>
    <Content Include="Test.ts" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

更新评论

如果要在从 MSBuild 命令执行构建时抑制 TS 错误,可以将属性添加为/p:TypeScriptCompileBlocked=true

详细信息:

  1. 打开一个 cmd 并切换到 MSBuild 的路径: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin

  2. 执行命令: msbuild "YourProject.csproj" /p:Platform=x64 /p:TypeScriptCompileBlocked=true