public static IProjectRootElement RemoveUnnecessaryPropertiesNotInSDKByDefault(this IProjectRootElement projectRootElement, ProjectStyle projectStyle) { foreach (var propGroup in projectRootElement.PropertyGroups) { foreach (var prop in propGroup.Properties) { if (MSBuildFacts.UnnecessaryProperties.Contains(prop.Name, StringComparer.OrdinalIgnoreCase)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsDefineConstantDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsDebugTypeDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsOutputPathDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsPlatformTargetDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsNameDefault(prop, GetProjectName(projectRootElement.FullPath))) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsDocumentationFileDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsUnnecessaryTestProperty(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsEmptyNuGetPackageImportStamp(prop)) { propGroup.RemoveChild(prop); } else if (projectStyle == ProjectStyle.MSTest && ProjectPropertyHelpers.IsOutputTypeNode(prop)) { // Old MSTest projects specify library, but this is not valid since tests on .NET Core are netcoreapp projects. propGroup.RemoveChild(prop); } } if (propGroup.Properties.Count == 0) { projectRootElement.RemoveChild(propGroup); } } return(projectRootElement);
public static IProjectRootElement RemoveUnnecessaryPropertiesNotInSDKByDefault(this IProjectRootElement projectRootElement) { foreach (var propGroup in projectRootElement.PropertyGroups) { foreach (var prop in propGroup.Properties) { if (MSBuildFacts.UnnecessaryProperties.Contains(prop.Name, StringComparer.OrdinalIgnoreCase)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsDefineConstantDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsDebugTypeDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsOutputPathDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsPlatformTargetDefault(prop)) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsNameDefault(prop, GetProjectName(projectRootElement.FullPath))) { propGroup.RemoveChild(prop); } else if (ProjectPropertyHelpers.IsDocumentationFileDefault(prop)) { propGroup.RemoveChild(prop); } } if (propGroup.Properties.Count == 0) { projectRootElement.RemoveChild(propGroup); } } return(projectRootElement);