SynchronizationContext.Current is null on Main thread and I have had a hard time figuring this one out.
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
var ctx = System.Threading.SynchronizationContext.Current;
// ctx is null here
}
}
I am running on .NET 4.6.1. It is a mixed Winforms and WPF app. The entry point is WinForms. Here are some screenshots of such evidence:

It is also not related to posts like this as I am using newer .NET version and seems mentioned issue was patched already. Any other good ideas?
Of course there is no SynchronizationContext available when the entry point (Main) of your application is hit. You need to wait for the framework to initialize it.
In a Windows Forms application this happens when the first form is created. So only after the Application.Run method has been called, the SynchronizationContext.Current property will actually return a synchronization context.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With