Команда Cake DotNetCoreTool завершается с ошибкой «Не найдена соответствующая команда для исполняемого файла» на сервере сборки - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь сгенерировать пакет DotNetCore AWS Lambda на нашем сервере сборки с помощью сценария Cake Build:

Task("PackageLambda")
.Does(() => 
{
    var projectDirectory = System.IO.Path.Combine(baseDirectory, lambdaProject.BaseDirectory, lambdaProject.ProjectName);
    DotNetCoreTool(
        projectPath: System.IO.Path.Combine(projectDirectory, "SubProject.csproj"),
        command: "lambda", 
        arguments: "package",
    );
});

Команда завершается с No executable found matching command "dotnet-lambda" при запуске в контексте BuildAgent (работает как система)

  • Локальный запуск сценария сборки - работает
  • Запуск сценария сборки вручную на BuildAgent - работает
  • Запуск сценария сборки от имени пользователя системы ( с использованием psexec) в BuildAgent - работает
  • Использование надстройки DoInDirectory для установки WorkingDirectory - не удается

Я вполне уверен, что проблема связана с контекстом, в котором вызывается скрипт CAKE, но, похоже, не могу сузить, что. Мы используем этот MetaRunner для запуска наших скриптов CAKE - https://gist.github.com/wwwlicious/620476f5cb8799937db84e24d6b5e75c

1 Ответ

0 голосов
/ 10 июля 2018

Основной проблемой для этого была переменная окружения MSBuildSDKsPath, которая задавалась значением конфигурации Teamcity. Набор значений был неверным путем.

...