Microsoft.SourceBrowser.HtmlGenerator.ProjectGenerator.WriteReferences C# (CSharp) Method

WriteReferences() private method

private WriteReferences ( StringBuilder sb ) : void
sb StringBuilder
return void
        private void WriteReferences(StringBuilder sb)
        {
            sb.Append("<div class=\"folderTitle\">References</div>");
            sb.AppendLine("<div class=\"folder\">");

            var assemblyNames = new SortedSet<string>();

            foreach (var projectReference in Project.ProjectReferences.Select(p => Project.Solution.GetProject(p.ProjectId).AssemblyName))
            {
                assemblyNames.Add(projectReference);
            }

            foreach (var metadataReference in Project.MetadataReferences.Select(m => Path.GetFileNameWithoutExtension(m.Display)))
            {
                assemblyNames.Add(metadataReference);
            }

            var usedReferences = new HashSet<string>(this.UsedReferences, StringComparer.OrdinalIgnoreCase);
            foreach (var reference in assemblyNames)
            {
                var externalIndex = this.SolutionGenerator.GetExternalAssemblyIndex(reference);
                string url = "/#" + reference;
                if (externalIndex != -1)
                {
                    url = "@" + externalIndex.ToString() + "@#" + reference;
                    sb.AppendLine(Markup.GetProjectExplorerReference(url, reference));
                }
                else if (SolutionGenerator.IsPartOfSolution(reference) && usedReferences.Contains(reference))
                {
                    sb.AppendLine(Markup.GetProjectExplorerReference(url, reference));
                }
                else
                {
                    sb.AppendLine("<span class=\"referenceDisabled\">" + reference + "</span>");
                }
            }

            sb.AppendLine("</div>");
        }