VSTS托管的代理2017和PhantomJS不工作

VSTS托管的代理2017和PhantomJS不工作,phantomjs,.net-core,azure-devops,csproj,Phantomjs,.net Core,Azure Devops,Csproj,我正在将一个项目迁移到VSTS上的dotnet core*.csproj,但在Hosted2017下找不到一个具有PhantomJS的可行代理。有人能对此提出建议吗 无论是经典的“Hosted”还是“Hosted 2017”,都没有明确地将PhantomJS作为一种功能 它似乎通过添加以下变量在主机上工作 PHANTOMJS_BIN:C:\NPM\Modules\PHANTOMJS.cmd 但这对于托管的2017不正确您可以通过命令行step/task调用来安装phantomjs包 调用phan

我正在将一个项目迁移到VSTS上的dotnet core*.csproj,但在Hosted2017下找不到一个具有PhantomJS的可行代理。有人能对此提出建议吗

无论是经典的“Hosted”还是“Hosted 2017”,都没有明确地将PhantomJS作为一种功能

它似乎通过添加以下变量在主机上工作

PHANTOMJS_BIN:C:\NPM\Modules\PHANTOMJS.cmd

但这对于托管的2017不正确

您可以通过命令行step/task调用来安装phantomjs包

调用phantomjs命令的简单示例:

  • Npm安装(工作文件夹:
    $(Build.SourcesDirectory);
    Npm命令:
    install
    ;参数:
    phantomjs

  • 命令行(工具:
    node_modules\.bin\phantomjs.cmd
    ;参数:
    --help
    ; 工作目录:
    $(Build.SourcesDirectory)

  • 您还可以将其添加到环境临时(仅在当前会话中)。例如:

  • Npm安装(相同)
  • PowerShell脚本(参数:
    -p$(Build.SourcesDirectory)\node\u modules\.bin
  • 脚本:

    Param(
     [string]$p
    )
    $env:Path += ";$p"
    phantomjs --help
    

    我使用了一种变体-这是一种正确的答案,但需要一些调整。正确的npm模块现在是“phantomjs预构建”(旧模块已被取消),不需要第2步。您可以通过将phantomjs_BIN变量设置为“$(System.DefaultWorkingDirectory)\node_modules\.BIN\phantomjs.cmd”来解决这个问题