public static IEnumerable <ProjectPublishProfile> GetPublishProfiles(this DotNetProject project) { var profileFiles = project.GetPublishProfilesDirectory().EnumerateFiles("*.pubxml"); foreach (var file in profileFiles) { var profile = ProjectPublishProfile.ReadModel(file.FullName); if (profile != null) { yield return(profile); } } }
static string GetNextPubXmlFileName(this DotNetProject project) { var baseDirectory = project.GetPublishProfilesDirectory().FullName; var identifier = string.Empty; var count = default(int); var file = $"{ProjectPublishProfile.ProjectPublishProfileKey}{identifier}.pubxml"; while (File.Exists(Path.Combine(baseDirectory, file))) { identifier = $" {++count}"; file = $"{ProjectPublishProfile.ProjectPublishProfileKey}{identifier}.pubxml"; } return(Path.Combine(baseDirectory, file)); }