使用Cake在新窗口中开始一个过程

时间:2018-10-05 00:10:25

标签: .net .net-core cakebuild

我正在尝试使用Cake来构建我的应用程序并启动它。我可以启动一个进程,但是我想在单独的窗口中启动多个进程。例如,我想在单独的Powershell窗口中启动我的API服务器和Web服务器。

这是我尝试过的例子

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

OR

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

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

这两个方法都只是在当前窗口中启动该过程。我在文档中看不到要指定新窗口的任何内容。

1 个答案:

答案 0 :(得分:0)

这可行,但是它只是普通的.NET基类库。有任何Cake插件可以做到这一点吗?

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

    Process.Start(info);
});