Visual Studio Team Services生成Typescript错误 [英] Visual Studio Team Services build Typescript error
问题描述
我有一个angular2 Web应用程序,正在使用Typescript 2.0.我已经在本地安装了VS版本2.0,并在VS项目中也更改了打字稿版本的标记.本地vs构建工作正常.在我的带有vnext构建的Visual Studio Team Services上的CD管道中,现在构建因以下原因而失败:
I have a angular2 webapplication where I'm using Typescript 2.0. I have install locally in my VS the version 2.0 and changed also the tag for the typescript version in my VS project. Locally vs build works fine. In my CD pipeline on Visual Studio Team Services with a vnext build now build fails with this:
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吗?
Looks like that the build server is using the typesript version 1.8 is this possible?
推荐答案
Typescript 2.0在Hosted Build代理中不可用.但是您可以改用Microsoft.TypeScript.MSBuild包,然后再使用TypeScript 2.0在Hosted Agent上构建项目.
Typescript 2.0 is not available in Hosted Build agent. But you could use Microsoft.TypeScript.MSBuild package instead, after that you could build your project on Hosted Agent with typescript 2.0.
- 向您的项目添加/安装 Microsoft.TypeScript.MSBuild包
-
编辑您的项目文件(.csproj)
- Add/Install Microsoft.TypeScript.MSBuild package to your project
Edit your project file (.csproj)
a.)将MSBuild配置为使用NuGet软件包的props文件.
a.) Configure MSBuild to use the NuGet package's props file.
<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程序包的目标文件.
b.) Configure MSBuild to use the NuGet package's targets file.
<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文件的部分
If it is .Net Core project, add this code to section of .xproj file
<TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion>
<TscToolPath>C:\Users\[user account]\.nuget\packages\Microsoft.TypeScript.MSBuild\2.0.6\tools\tsc</TscToolPath>
这篇关于Visual Studio Team Services生成Typescript错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!