Fixed permanently the issue under .NET 4.0+ where the async logging was causing the trace sources to be improperly configured. It seems that initialization of the System.Diagnostics.TraceSource class the first time it's used to trace a message, has to happen in the main thread, and not in an async thread. Otherwise, configuration is not read at all.

Had to add System.Configuration, System.Xml and System.Xml.Linq as framework dependencies so that the TraceManager can read the configuration and eagerly create all configured trace sources by their names.