in src/Microsoft.VisualStudio.SlnGen/SlnProject.cs [172:205]
internal static IReadOnlyList<string> GetConfigurations(Project project, string projectFileExtension, bool isUsingMicrosoftNETSdk)
{
if (string.Equals(projectFileExtension, ".vcxproj"))
{
HashSet<string> items = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
foreach (ProjectItem item in project.GetItems("ProjectConfiguration"))
{
string configuration = item.GetMetadataValue("Configuration");
if (!configuration.IsNullOrWhiteSpace())
{
items.Add(configuration);
}
}
if (items.Any())
{
return items.ToList();
}
}
if (isUsingMicrosoftNETSdk)
{
string value = project.GetPropertyValue("Configurations");
if (!value.IsNullOrWhiteSpace())
{
return value.SplitSemicolonDelimitedList().ToList();
}
}
return project.GetPossiblePropertyValuesOrDefault("Configuration", "Debug").ToList();
}