C#


ROSLYN.RELIABILITY.CA2008 : Do not create tasks without passing a TaskScheduler (C#)

See Roslyn-Detected C# Warning Classes for more information.

Summary

Do not create tasks unless you are using one of the overloads that takes a TaskScheduler. The default is to schedule on TaskScheduler.Current, which would lead to deadlocks. Either use TaskScheduler.Default to schedule on the thread pool, or explicitly pass TaskScheduler.Current to make your intentions clear.

This check corresponds to Roslyn rule CA2008. For full rule details, see the Microsoft website: CA2008.

Properties

Class Name Do not create tasks without passing a TaskScheduler (C#)
Significance reliability
Mnemonic ROSLYN.RELIABILITY.CA2008
Categories None
Availability Available for C# only.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Do not create tasks without passing a TaskScheduler (C#)"

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.