Используя Cake, запустите процесс в новом окне - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь использовать Cake для создания своего приложения и запуска его.Я могу заставить его запустить один процесс, но я хочу запустить несколько процессов в разных окнах.Например, я хотел бы запустить свой сервер API и веб-сервер в отдельных окнах PowerShell.

Вот пример того, что я пробовал

Task("run-api")
.Does(() => 
{
    var path = root + File("api\\src\api.fsproj");
    DotNetCoreRun(path);
});

ИЛИ

Task("run-api")
.Does(() => 
{
    var settings = new PowershellSettings 
    {
        WorkingDirectory = root + Directory("api\\src\\")
    };

    StartPowershellScript("dotnet run api.fsproj", settings);
});

Оба они просто запускают процесс в текущем окне.Я не вижу ничего в документации, чтобы указать новое окно.

1 Ответ

0 голосов
/ 05 октября 2018

Это работает, но это просто обычные библиотеки базовых классов .NET.Есть ли в Cake addin, который это делает?

Task("run-api")
.Does(() => 
{
    var info = new ProcessStartInfo
    {
        FileName = "dotnet",
        Arguments = "run api.fsproj",
        WorkingDirectory = (root + File("api\\src\\")).ToString()
    };

    Process.Start(info);
});
...