public static IProjectRootElement ChangeImportsAndAddSdkAttribute(this IProjectRootElement projectRootElement, BaselineProject baselineProject) { foreach (var import in projectRootElement.Imports) { var fileName = Path.GetFileName(import.Project); if (MSBuildFacts.PropsToRemove.Contains(fileName, StringComparer.OrdinalIgnoreCase) || MSBuildFacts.TargetsToRemove.Contains(fileName, StringComparer.OrdinalIgnoreCase)) { projectRootElement.RemoveChild(import); } else if (!MSBuildFacts.ImportsToKeep.Contains(fileName, StringComparer.OrdinalIgnoreCase)) { Console.WriteLine($"This project has an unrecognized custom import which may need reviewed after conversion: {fileName}"); } } if (baselineProject.ProjectStyle is ProjectStyle.WindowsDesktop && baselineProject.TargetTFM is MSBuildFacts.NetCoreApp31) { projectRootElement.Sdk = DesktopFacts.WinSDKAttribute; } else if (MSBuildHelpers.IsWeb(projectRootElement)) { projectRootElement.Sdk = WebFacts.WebSDKAttribute; } else { projectRootElement.Sdk = MSBuildFacts.DefaultSDKAttribute; } return(projectRootElement); }
public static IProjectRootElement ChangeImportsAndAddSdkAttribute(this IProjectRootElement projectRootElement, BaselineProject baselineProject) { foreach (var import in projectRootElement.Imports) { projectRootElement.RemoveChild(import); } if (baselineProject.ProjectStyle is ProjectStyle.WindowsDesktop && baselineProject.TargetTFM is MSBuildFacts.NetCoreApp31) { projectRootElement.Sdk = DesktopFacts.WinSDKAttribute; } else if (MSBuildHelpers.IsWeb(projectRootElement)) { projectRootElement.Sdk = WebFacts.WebSDKAttribute; } else { projectRootElement.Sdk = MSBuildFacts.DefaultSDKAttribute; } return(projectRootElement); }