Я хочу создать пользовательскую задачу сборки, которая будет вызывать инструмент CLI ядра dotnet.Я использовал VSTS DevOps Task SDK / узел , чтобы получить или установить инструмент:
import tl = require('vsts-task-lib/task');
async function getLibmanTool() {
let libmanExePath = tl.which('libman');
if (!libmanExePath){
console.log("Libman CLI not found. Installing..")
var dotnet = tl.tool(tl.which('dotnet', true));
await dotnet.arg(['tool', 'install', '-g', 'Microsoft.Web.LibraryManager.Cli']).exec();
}
libmanExePath = tl.which('libman', true); //this line throws, see output
return tl.tool(libmanExePath);
}
Однако, когда я использую инструмент в Build Pipeline:
Я получаю следующую ошибку:
Libman CLI not found. Installing..
[command]C:\hostedtoolcache\windows\dncs\2.1.105\x64\dotnet.exe tool install -g Microsoft.Web.LibraryManager.Cli
Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed.
You can invoke the tool using the following command: libman
Tool 'microsoft.web.librarymanager.cli' (version '1.0.163') was successfully installed.
##[error]Unable to locate executable file: 'libman'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.
Похоже, что когда я устанавливаю .NET Core SDK в трубопровод, он не может найти инструмент dotnet
Вопрос:
Как установить, а затем безопасно использовать инструмент ядра dotnet?Есть ли способ обойти это?
Поскольку вы только что установили .NET Core SDK, вам нужно будет снова открыть окно командной строки перед запуском установленного вами инструмента