private string[] GetTopLevelNamespacesFromReferences()
{
var namespaces = new List<string>();
foreach (Assembly reference in Context.References)
{
foreach (var type in reference.GetExportedTypes())
{
if (type.Namespace == null) continue;
var ns = type.Namespace;
if (ns.Contains(".")) ns = ns.Substring(0, ns.IndexOf("."));
if (!namespaces.Contains(ns))
namespaces.Add(ns);
}
}
return namespaces.ToArray();
}