public string GetDetailedDescription() { var loadStyle = PluginInstance != null ? $"Instance based: {PluginInstance.GetType().AssemblyQualifiedName}" : $"Assembly path based: {PluginAssemblyPath}"; var entryPointStyle = EntryPoints != null ? "Explicit entry-point based" : ProjectGraph != null ? "Static graph based" : "Visual Studio Workaround based"; var entryPoints = EntryPoints != null ? string.Join( "\n", EntryPoints.Select(e => $"{e.ProjectFile} {{{FormatGlobalProperties(e.GlobalProperties)}}}")) : ProjectGraph != null ? string.Join( "\n", ProjectGraph !.EntryPointNodes.Select( n => $"{n.ProjectInstance.FullPath} {{{FormatGlobalProperties(n.ProjectInstance.GlobalProperties)}}}")) : "Solution file"; return($"{loadStyle}\nEntry-point style: {entryPointStyle}\nEntry-points:\n{entryPoints}");