//------------------------------------------------------------------------------------------------------------------------ #endregion #region Constructors //------------------------------------------------------------------------------------------------------------------------ static TypeCache() { #if NETFX //add entry assembly var EntryAssembly = Assembly.GetEntryAssembly(); if (EntryAssembly != null) { EntryAssemblies.Add(EntryAssembly); } //Add as many assemblies as we can //add from stack try { var frameAssemblies = new System.Diagnostics.StackTrace().GetFrames().Select(t => t.GetMethod().Module.Assembly).ToHashSet(); foreach (var entry in frameAssemblies) { EntryAssemblies.Add(entry); } } catch (Exception ex) { DebugEx.TraceError(ex, "Unhandled exception during Stack Frame assembly examination"); } //add from domain try { EntryAssemblies.AddFromSource(AppDomain.CurrentDomain.GetAssemblies()); } catch (Exception ex) { DebugEx.TraceError(ex, "Unhandled exception during AppDomain assembly examination"); } #elif UNIVERSAL EntryAssemblies.Add(Windows.UI.Xaml.Application.Current.GetType().GetTypeInfo().Assembly); #endif }