public static SettingsPropertyValueCollection GetPreviousSharedPropertyValues(LocalFileSettingsProvider provider, SettingsContext context, SettingsPropertyCollection properties, string previousExeConfigFilename)
        {
            var values = new SettingsPropertyValueCollection();

            if (String.IsNullOrEmpty(previousExeConfigFilename))
            {
                return(values);
            }

            var settingsClass  = (Type)context["SettingsClassType"];
            var previousValues = new ConfigurationFileReader(previousExeConfigFilename).GetSettingsValues(settingsClass);

            if (previousValues == null)
            {
                return(values);
            }

            foreach (var value in previousValues)
            {
                var property = properties[value.Key];
                if (property == null)
                {
                    continue;
                }

                var settingsValue = new SettingsPropertyValue(property)
                {
                    SerializedValue = value.Value, IsDirty = false
                };
                values.Add(settingsValue);
            }

            return(values);
        }
        public static SettingsPropertyValueCollection GetPreviousSharedPropertyValues(LocalFileSettingsProvider provider, SettingsContext context, SettingsPropertyCollection properties, string previousExeConfigFilename)
        {
        	var values = new SettingsPropertyValueCollection();
			if (String.IsNullOrEmpty(previousExeConfigFilename))
				return values;

        	var settingsClass = (Type)context["SettingsClassType"];
			var previousValues = new ConfigurationFileReader(previousExeConfigFilename).GetSettingsValues(settingsClass);
			if (previousValues == null)
				return values;

			foreach (var value in previousValues)
			{
				var property = properties[value.Key];
				if (property == null)
					continue;

				var settingsValue = new SettingsPropertyValue(property) { SerializedValue = value.Value, IsDirty = false };
				values.Add(settingsValue);
			}

			return values;
        }