Visual Studio Team Services构建Typescript错误

时间:2016-11-05 17:44:23

标签: visual-studio typescript azure-devops azure-pipelines

我有一个angular2 webapplication,我使用的是Typescript 2.0。我在我的VS版本2.0中本地安装,并在我的VS项目中更改了typescript版本的标签。本地vs构建工作正常。在我的带有vnext构建的Visual Studio Team Services的CD管道中,现在构建失败了:

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

看起来构建服务器正在使用typesript版本1.8这可能吗?

3 个答案:

答案 0 :(得分:23)

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

  1. 向您的项目添加/安装Microsoft.TypeScript.MSBuild package
  2. 编辑项目文件(.csproj)

    a。)配置MSBuild以使用NuGet包的道具文件。

    <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\2.0.6\tools\tsc</TscToolPath>
    

答案 1 :(得分:2)

我认为Hosted构建代理目前不支持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

答案 2 :(得分:0)

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

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