public static void UpdateProperties(Project project, ProjectItem projectItem) { if (project != null) { object projObject; try { projObject = project.Object; } catch (Exception ex) { ex.TraceUnknownException(); projObject = null; } try { if (projObject == null) { projectItem.UniqueName = project.UniqueName; projectItem.Name = project.Name; return; } UpdateNameProperties(project, projectItem); projectItem.Language = project.GetLanguageName(); projectItem.CommonType = ProjectExtensions.GetProjectType(project.Kind, project.DTE.Version /* "12.0" */); } catch (Exception ex) { ex.TraceUnknownException(); } #region Set ActiveConfiguration (Configuration and Platform) Configuration config; try { config = project.ConfigurationManager.ActiveConfiguration; } catch (Exception ex) { ex.TraceUnknownException(); config = null; } if (config != null) { projectItem.Configuration = config.ConfigurationName; projectItem.Platform = config.PlatformName; } else { projectItem.Configuration = @"N\A"; projectItem.Platform = @"N\A"; } #endregion try { projectItem.Framework = project.GetFrameworkString(); var flavourTypes = project.GetFlavourTypes().ToList(); projectItem.FlavourType = string.Join("; ", flavourTypes); projectItem.MainFlavourType = flavourTypes.FirstOrDefault(); projectItem.OutputType = project.GetOutputType(); projectItem.ExtenderNames = project.GetExtenderNames(); projectItem.RootNamespace = project.GetRootNamespace(); } catch (Exception ex) { ex.TraceUnknownException(); } } }