public override int Save(string fileToBeSaved, int remember, uint formatIndex)
        {
            Microsoft.Build.Evaluation.Project pb = new Microsoft.Build.Evaluation.Project();
            var g = pb.Xml.AddPropertyGroup();

            //List<ProjectProperty> toreturn = new List<ProjectProperty>();
            foreach (string key in _userproperties)
            {
                var prop = BuildProject.GetProperty(key);
                if (prop != null)
                {
                    try
                    {
                        //BuildProject.RemoveProperty(prop);
                        var element = g.AddProperty(key, prop.EvaluatedValue);
                        //toreturn.Add(prop);
                    }
                    catch (Exception)
                    {
                        //
                    }
                }
            }
            pb.Xml.Save(this.FileName + ".user");
            pb.ProjectCollection.UnloadProject(pb);

            if (base.Save(fileToBeSaved, remember, formatIndex) == VSConstants.S_OK)
            {
                //nothing to see here, move along.
            }

            /*foreach (var prop in toreturn)
             * {
             *  BuildProject.SetProperty(prop.Name, prop.UnevaluatedValue);
             * }*/
            //base.SetProjectFileDirty(false);
            return(VSConstants.S_OK);
        }