我正在尝试创建VSTS Build Task扩展,该扩展调用以下CLI命令:
libman restore
当然,不必在构建代理程序上安装libman CLI,所以我认为它也应该尝试安装它:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
据我了解,为了在Linux构建代理上实现此目的,我应该使用打字稿,并附加该powershell。
如何安装dotnet工具CLI(或在其他位置找到)并使用打字稿调用命令?
编辑: 到目前为止,我已经知道了:
import * as path from "path";
import tl = require('vsts-task-lib/task');
let libmanExePath = tl.which('libman');
if (!libmanExePath){
var dotnet = tl.tool(tl.which('dotnet', true));
await dotnet.arg(['tool', 'install', '-g', 'Microsoft.Web.LibraryManager.Cli']).exec();
}
var libman = tl.tool(libmanExePath);
await libman.arg(['restore']).exec();
但是如何找到使用.csproj中的 DotNetCliToolReference 引用的CLI工具?