in src/Microsoft.VisualStudio.SlowCheetah.VS/Package/AddTransformCommand.cs [280:314]
private IEnumerable<string> GetPublishProfileTransforms(IVsHierarchy hierarchy, string projectPath)
{
if (hierarchy == null)
{
throw new ArgumentNullException(nameof(hierarchy));
}
if (string.IsNullOrEmpty(projectPath))
{
throw new ArgumentNullException(nameof(projectPath));
}
List<string> result = new List<string>();
IVsProjectSpecialFiles specialFiles = hierarchy as IVsProjectSpecialFiles;
if (ErrorHandler.Failed(specialFiles.GetFile((int)__PSFFILEID2.PSFFILEID_AppDesigner, (uint)__PSFFLAGS.PSFF_FullPath, out uint itemid, out string propertiesFolder)))
{
this.logger.LogMessage("Exception trying to create IVsProjectSpecialFiles");
}
if (!string.IsNullOrEmpty(propertiesFolder))
{
// Properties\PublishProfiles
string publishProfilesFolder = Path.Combine(propertiesFolder, "PublishProfiles");
if (Directory.Exists(publishProfilesFolder))
{
string[] publishProfiles = Directory.GetFiles(publishProfilesFolder, "*.pubxml");
if (publishProfiles != null)
{
return publishProfiles.Select(profile => Path.GetFileNameWithoutExtension(profile));
}
}
}
return null;
}