Typescript Azure DevOps托管代理使用了错误的.njsproj类型脚本版本

Typescript Azure DevOps托管代理使用了错误的.njsproj类型脚本版本,typescript,azure-devops,Typescript,Azure Devops,我们的.njsproj项目使用typescript 3.8.2。它在package.js以及.njsproj文件和3.8中定义 但是Azure DevOps代理始终对此项目使用版本4.1,然后构建失败。 对于.csproj您可以只安装适当的typescript.msbuild nuget包,但是如何设置生成代理拾取的.njsproj文件的版本 研究这个问题给了我很多不同的答案,从“不可能”到“尝试这个解决方案”,这对线程启动程序和我来说都不起作用。请参阅:Typescript有这些方法要安装 类

我们的
.njsproj
项目使用typescript 3.8.2。它在
package.js
以及
.njsproj
文件和
3.8
中定义

但是Azure DevOps代理始终对此项目使用版本4.1,然后构建失败。 对于
.csproj
您可以只安装适当的typescript.msbuild nuget包,但是如何设置生成代理拾取的
.njsproj文件的版本

研究这个问题给了我很多不同的答案,从“不可能”到“尝试这个解决方案”,这对线程启动程序和我来说都不起作用。

请参阅:Typescript有这些方法要安装

类型脚本NuGet包

TypeScript npm包

TypeScript SDK

在Azure Devops代理中,它只预装了Typescript 4.1(Windows-2019)。因此,当您运行管道时,默认情况下它将使用版本4.1

根据您的情况,方法3(TypeScript SDK)可以满足您的需求

您可以从以下网站下载TypeScript SDK:

下面是Powershell脚本示例:

$client = new-object System.Net.WebClient
$client.DownloadFile('https://marketplace.visualstudio.com/_apis/public/gallery/publishers/TypeScriptTeam/vsextensions/typescript-382/3.8.2/vspackage','C:/installer1.exe')

$pathvargs = {C:/installer1.exe /S /v/qn }
Invoke-Command -ScriptBlock $pathvargs


sleep -s 30
结果:

运行以下命令以检查:

Get-ChildItem -Path  'C:\Program Files (x86)\Microsoft SDKs\TypeScript'  -Recurse -Directory -Force -ErrorAction SilentlyContinue | Select-Object FullName
另一方面,您可以直接从网站下载exe文件并将其上载到您的repo。然后您可以直接运行以下命令来安装它

$pathvargs = {$(build.sourcesdirectory)/TypeScript_SDK.exe /S /v/qn }
Invoke-Command -ScriptBlock $pathvargs


sleep -s 30

@穆库。您还可以尝试创建并使用来运行管道。