我正在使用此代码创建一些任务:
private Task PollSomething()
{
return Task.Run(
async () =>
{
while (!_cts.Token.WaitHandle.WaitOne(200))
{
var result = await _channel.DoSomethingAsync();
DoSomethingWithResult(result);
}
if (_cts.IsCancellationRequested)
throw new TaskCanceledException();
}, _cts.Token);
}
当我测试代码时,一切都按预期工作,但是当我在调试器中运行它时,我无法使用Tasks窗口(以前称为Parallel Tasks窗口)可视化任务。我可以看到线程很好。
可能导致任务不可见的原因是什么?
P.S。我使用R#test runner和NUnit来执行此操作。
答案 0 :(得分:0)
原来有一个Visual Studio设置:“使用托管兼容模式”来解决这个问题。