似乎如果我的构建步骤产生了一个子进程,那么该进程将无法在构建结束后存活——它被杀死了。
但是我有一个场景,其中触发子进程以完成构建不应等待其完成的某些操作(向 Azure AppInsights 报告指标)。
此过程在 XAML 构建中运行良好,但现在我们迁移到 vNext,它被破坏了,因为子进程在构建结束时被终止。
可以做些什么呢?
似乎如果我的构建步骤产生了一个子进程,那么该进程将无法在构建结束后存活——它被杀死了。
但是我有一个场景,其中触发子进程以完成构建不应等待其完成的某些操作(向 Azure AppInsights 报告指标)。
此过程在 XAML 构建中运行良好,但现在我们迁移到 vNext,它被破坏了,因为子进程在构建结束时被终止。
可以做些什么呢?
最简单的方法是使用任务调度程序来调度任务。
Microsoft.Win32.TaskScheduler
使用NuGet 包的示例:
using (var ts = new TaskService())
{
// Create a new task definition and assign properties
var td = ts.NewTask();
td.Triggers.Add(new TimeTrigger(DateTime.Now.AddDays(-1)));
td.Actions.Add(new ExecAction(MyExe, MyArgs));
ts.RootFolder.RegisterTaskDefinition(MyTaskName, td).Run();
ts.RootFolder.DeleteTask(MyTaskName);
}