Visual Studio Team Services 构建 Typescript 错误

Visual Studio Team Services build Typescript error

我有一个使用 Typescript 2.0 的 angular2 网络应用程序。我已经在我的 VS 中本地安装了 2.0 版,并且还更改了我的 VS 项目中打字稿版本的标签。本地 vs 构建工作正常。在我的 Visual Studio Team Services 上的 CD 管道中,使用 vnext 构建现在构建失败:

2016-11-05T16:10:22.0371090Z   C:\Program Files (x86)\Microsoft SDKs\TypeScript.8\tsc.exe --project "C:\a\s\src\Emersy\tsconfig.json"
2016-11-05T16:10:22.7095466Z ##[error]VSTSC(0,0): Error TS5023: Build: Unknown compiler option 'strictNullChecks'.

看起来构建服务器正在使用 1.8 版的打字稿,这可能吗?

我认为托管构建代理目前不支持 TypeScript 2.0。

来自VisualStudio.com

TypeScript 1.4 for Visual Studio 2013
TypeScript 1.6 for Visual Studio 2013 and Visual Studio 2015
TypeScript 1.7.5 for Visual Studio 2013
TypeScript 1.7.6 for Visual Studio 2015
TypeScript 1.8.6 for Visual Studio 2013 and Visual Studio 2015
WIX Toolset 3.10

Typescript 2.0 在 Hosted Build 代理中不可用。但是您可以改用 Microsoft.TypeScript.MSBuild 包,之后您可以使用 typescript 2.0 在 Hosted Agent 上构建项目。

  1. Add/Install Microsoft.TypeScript.MSBuild package 到您的项目
  2. 编辑您的项目文件 (.csproj)

    a.) 配置 MSBuild 以使用 NuGet 包的 props 文件。

    <Import Project="..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.props" Condition="Exists('..\packages\Microsoft.TypeScript.MSBuild.2.0.3\build\Microsoft.TypeScript.MSBuild.props')" />
    <!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />-->
    

    b.) 配置 MSBuild 以使用 NuGet 包的目标文件。

    <Import Project="..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.targets" Condition="Exists('..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.targets')" />
    <!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />-->
    

    如果是.Net Core 项目,将此代码添加到.xproj 文件的部分

    <TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion>
    <TscToolPath>C:\Users\[user account]\.nuget\packages\Microsoft.TypeScript.MSBuild.0.6\tools\tsc</TscToolPath>
    

TypeScript 2.0.6 现在可用于托管构建代理。

https://www.visualstudio.com/en-us/docs/build/admin/agents/hosted-pool