/// <summary> /// </summary> /// <param name="assemblySymbol"> /// </param> private void SetCorLib(PEAssemblySymbol assemblySymbol) { if (!assemblySymbol.Assembly.AssemblyReferences.Any()) { // this is the core lib assemblySymbol.SetCorLibrary(assemblySymbol); return; } var loadedRefAssemblies = from assemblyIdentity in assemblySymbol.Assembly.AssemblyReferences select this.LoadAssemblySymbol(assemblyIdentity); foreach (var loadedRefAssemblySymbol in loadedRefAssemblies) { var peRefAssembly = loadedRefAssemblySymbol as PEAssemblySymbol; if (peRefAssembly != null && !peRefAssembly.Assembly.AssemblyReferences.Any()) { assemblySymbol.SetCorLibrary(loadedRefAssemblySymbol); return; } } Debug.Fail("CoreLib not set"); }