void LoadItemProperties(PropertyBag props, SolutionFolderItem item, string path) { PropertyBag info = props.GetValue <PropertyBag> (path); if (info != null) { item.LoadUserProperties(info); props.RemoveValue(path); } SolutionFolder sf = item as SolutionFolder; if (sf != null) { foreach (SolutionFolderItem ci in sf.Items) { LoadItemProperties(props, ci, path + "." + ci.Name); } } }