A Task-based System.Threading.Threads implementation for Universal Windows Platform applications.
C#
Switch branches/tags
Nothing to show
Clone or download

README.md

TaskThreads is a drop-in replacement for System.Threading.Thread intended for use in Universal Windows Platform (UAP/UWP) applications as a replacement for the standard System.Threading.Thread package by Microsoft.

The reason this package is necessary is that for reasons unknown, Microsoft claims that the System.Threading.Thread package available on NuGet is compatible with .NET Standard 1.3, but explicitly does not provide NuGet binaries for UAP/UWP targets — even though all UAP applications are formally compatible with .NET Standard 1.4 (source). This is especially unfortunate given that the entire raison d'être of .NET Standard is to avoid precisely this type of target fragmentation nightmare. You can read more about this situation in our article on the matter.

Libraries requiring System.Threading.Thread support should either use this TaskThreads library directly in lieu of the Microsoft-provided System.Threading.Thread package when targeting .NET Core and .NET Standard, or else should create an additional target for UAP that has a dependency on TaskThreads instead of System.Threading.Thread. New libraries should avoid using the Thread class directly where possible; Microsoft has made it clear that everyone should now be using System.Threading.Tasks instead.

TaskThreads occupies the same System.Threading.Thread namespace/path that the Microsoft-provided package uses (for drop-in compatibility) and therefore must never be included alongside System.Threading.Thread.