diff --git a/src/Umbraco.Configuration/Legacy/CommaDelimitedConfigurationElement.cs b/src/Umbraco.Configuration/Legacy/CommaDelimitedConfigurationElement.cs
deleted file mode 100644
index 3ced2fab46..0000000000
--- a/src/Umbraco.Configuration/Legacy/CommaDelimitedConfigurationElement.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration
-{
- ///
- /// Defines a configuration section that contains inner text that is comma delimited
- ///
- internal class CommaDelimitedConfigurationElement : InnerTextConfigurationElement, IEnumerable
- {
- public override CommaDelimitedStringCollection Value
- {
- get
- {
- var converter = new CommaDelimitedStringCollectionConverter();
- return (CommaDelimitedStringCollection) converter.ConvertFrom(RawValue);
- }
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return new InnerEnumerator(Value.GetEnumerator());
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return new InnerEnumerator(Value.GetEnumerator());
- }
-
- ///
- /// A wrapper for StringEnumerator since it doesn't explicitly implement IEnumerable
- ///
- private class InnerEnumerator : IEnumerator
- {
- private readonly StringEnumerator _stringEnumerator;
-
- public InnerEnumerator(StringEnumerator stringEnumerator)
- {
- _stringEnumerator = stringEnumerator;
- }
-
- public bool MoveNext()
- {
- return _stringEnumerator.MoveNext();
- }
-
- public void Reset()
- {
- _stringEnumerator.Reset();
- }
-
- string IEnumerator.Current
- {
- get { return _stringEnumerator.Current; }
- }
-
- public object Current
- {
- get { return _stringEnumerator.Current; }
- }
-
- public void Dispose()
- {
- _stringEnumerator.DisposeIfDisposable();
- }
- }
- }
-}
diff --git a/src/Umbraco.Configuration/Legacy/InnerTextConfigurationElement.cs b/src/Umbraco.Configuration/Legacy/InnerTextConfigurationElement.cs
deleted file mode 100644
index 6a125f2c1b..0000000000
--- a/src/Umbraco.Configuration/Legacy/InnerTextConfigurationElement.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using System;
-using System.Xml;
-using System.Xml.Linq;
-
-namespace Umbraco.Core.Configuration
-{
- ///
- /// A full config section is required for any full element and we have some elements that are defined like this:
- /// {element}MyValue{/element} instead of as attribute values.
- ///
- ///
- internal class InnerTextConfigurationElement : RawXmlConfigurationElement
- {
- public InnerTextConfigurationElement()
- {
- }
-
- public InnerTextConfigurationElement(XElement rawXml) : base(rawXml)
- {
- }
-
- protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey)
- {
- base.DeserializeElement(reader, serializeCollectionKey);
- //now validate and set the raw value
- if (RawXml.HasElements)
- throw new InvalidOperationException("An InnerTextConfigurationElement cannot contain any child elements, only attributes and a value");
- RawValue = RawXml.Value.Trim();
-
- //RawValue = reader.ReadElementContentAsString();
- }
-
- public virtual T Value
- {
- get
- {
- var converted = RawValue.TryConvertTo();
- if (converted.Success == false)
- throw new InvalidCastException("Could not convert value " + RawValue + " to type " + typeof(T));
- return converted.Result;
- }
- }
-
- ///
- /// Exposes the raw string value
- ///
- internal string RawValue { get; set; }
-
- ///
- /// Implicit operator so we don't need to use the 'Value' property explicitly
- ///
- ///
- ///
- public static implicit operator T(InnerTextConfigurationElement m)
- {
- return m.Value;
- }
-
- ///
- /// Return the string value of Value
- ///
- ///
- public override string ToString()
- {
- return string.Format("{0}", Value);
- }
-
- }
-}
diff --git a/src/Umbraco.Configuration/Legacy/OptionalCommaDelimitedConfigurationElement.cs b/src/Umbraco.Configuration/Legacy/OptionalCommaDelimitedConfigurationElement.cs
deleted file mode 100644
index 610067d2db..0000000000
--- a/src/Umbraco.Configuration/Legacy/OptionalCommaDelimitedConfigurationElement.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System.Configuration;
-using Umbraco.Core.Configuration.UmbracoSettings;
-
-namespace Umbraco.Core.Configuration
-{
- ///
- /// Used for specifying default values for comma delimited config
- ///
- internal class OptionalCommaDelimitedConfigurationElement : CommaDelimitedConfigurationElement
- {
- private readonly CommaDelimitedConfigurationElement _wrapped;
- private readonly string[] _defaultValue;
-
- public OptionalCommaDelimitedConfigurationElement()
- {
- }
-
- public OptionalCommaDelimitedConfigurationElement(CommaDelimitedConfigurationElement wrapped, string[] defaultValue)
- {
- _wrapped = wrapped;
- _defaultValue = defaultValue;
- }
-
- public override CommaDelimitedStringCollection Value
- {
- get
- {
- if (_wrapped == null)
- {
- return base.Value;
- }
-
- if (string.IsNullOrEmpty(_wrapped.RawValue))
- {
- var val = new CommaDelimitedStringCollection();
- val.AddRange(_defaultValue);
- return val;
- }
- return _wrapped.Value;
- }
- }
- }
-}
diff --git a/src/Umbraco.Configuration/Legacy/OptionalInnerTextConfigurationElement.cs b/src/Umbraco.Configuration/Legacy/OptionalInnerTextConfigurationElement.cs
deleted file mode 100644
index b15e33019d..0000000000
--- a/src/Umbraco.Configuration/Legacy/OptionalInnerTextConfigurationElement.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-namespace Umbraco.Core.Configuration
-{
- ///
- /// This is used to supply optional/default values when using InnerTextConfigurationElement
- ///
- ///
- internal class OptionalInnerTextConfigurationElement : InnerTextConfigurationElement
- {
- private readonly InnerTextConfigurationElement _wrapped;
- private readonly T _defaultValue;
-
- public OptionalInnerTextConfigurationElement(InnerTextConfigurationElement wrapped, T defaultValue)
- {
- _wrapped = wrapped;
- _defaultValue = defaultValue;
- }
-
- public override T Value
- {
- get { return string.IsNullOrEmpty(_wrapped.RawValue) ? _defaultValue : _wrapped.Value; }
- }
- }
-}
diff --git a/src/Umbraco.Configuration/Legacy/RawXmlConfigurationElement.cs b/src/Umbraco.Configuration/Legacy/RawXmlConfigurationElement.cs
deleted file mode 100644
index 5bc6ad3d32..0000000000
--- a/src/Umbraco.Configuration/Legacy/RawXmlConfigurationElement.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Configuration;
-using System.Xml;
-using System.Xml.Linq;
-
-namespace Umbraco.Core.Configuration
-{
- ///
- /// A configuration section that simply exposes the entire raw xml of the section itself which inheritors can use
- /// to do with as they please.
- ///
- internal abstract class RawXmlConfigurationElement : ConfigurationElement
- {
- protected RawXmlConfigurationElement()
- {
-
- }
-
- protected RawXmlConfigurationElement(XElement rawXml)
- {
- RawXml = rawXml;
- }
-
- protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey)
- {
- RawXml = (XElement)XNode.ReadFrom(reader);
- }
-
- protected XElement RawXml { get; private set; }
- }
-}
diff --git a/src/Umbraco.Configuration/Legacy/UmbracoConfigurationSection.cs b/src/Umbraco.Configuration/Legacy/UmbracoConfigurationSection.cs
deleted file mode 100644
index 8c0754b91d..0000000000
--- a/src/Umbraco.Configuration/Legacy/UmbracoConfigurationSection.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration
-{
- ///
- /// Represents an Umbraco section within the configuration file.
- ///
- ///
- /// The requirement for these sections is to be read-only.
- /// However for unit tests purposes it is internally possible to override some values, and
- /// then calling >ResetSection should cancel these changes and bring the section back to
- /// what it was originally.
- /// The UmbracoSettings.For{T} method will return a section, either one that
- /// is in the configuration file, or a section that was created with default values.
- ///
- public abstract class UmbracoConfigurationSection : ConfigurationSection, IUmbracoConfigurationSection
- {
- ///
- /// Gets a value indicating whether the section actually is in the configuration file.
- ///
- protected bool IsPresent { get { return ElementInformation.IsPresent; } }
-
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/CharCollection.cs b/src/Umbraco.Configuration/UmbracoSettings/CharCollection.cs
deleted file mode 100644
index 7b62fcc123..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/CharCollection.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Collections.Generic;
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class CharCollection : ConfigurationElementCollection, IEnumerable
- {
- internal void Add(CharElement c)
- {
- BaseAdd(c);
- }
-
- protected override ConfigurationElement CreateNewElement()
- {
- return new CharElement();
- }
-
- protected override object GetElementKey(ConfigurationElement element)
- {
- return ((CharElement)element).Char;
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- for (var i = 0; i < Count; i++)
- {
- yield return BaseGet(i) as IChar;
- }
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/CharElement.cs b/src/Umbraco.Configuration/UmbracoSettings/CharElement.cs
deleted file mode 100644
index 1ff63ac017..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/CharElement.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class CharElement : InnerTextConfigurationElement, IChar
- {
- private string _char;
- private string _replacement;
-
- internal string Char
- {
- get => _char ?? (_char = (string)RawXml.Attribute("org"));
- set => _char = value;
- }
-
- internal string Replacement
- {
- get => _replacement ?? (_replacement = Value);
- set => _replacement = value;
- }
-
- string IChar.Char => Char;
-
- string IChar.Replacement => Replacement;
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/ContentError404Collection.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentError404Collection.cs
deleted file mode 100644
index bdbcb27b4c..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/ContentError404Collection.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Collections.Generic;
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class ContentError404Collection : ConfigurationElementCollection, IEnumerable
- {
- internal void Add(ContentErrorPageElement element)
- {
- BaseAdd(element);
- }
-
- protected override ConfigurationElement CreateNewElement()
- {
- return new ContentErrorPageElement();
- }
-
- protected override object GetElementKey(ConfigurationElement element)
- {
- return ((ContentErrorPageElement)element).Culture
- + ((ContentErrorPageElement)element).Value;
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- for (var i = 0; i < Count; i++)
- {
- yield return BaseGet(i) as ContentErrorPageElement;
- }
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/ContentErrorPageElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentErrorPageElement.cs
deleted file mode 100644
index 96cea71a8e..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/ContentErrorPageElement.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using System;
-using System.Xml.Linq;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class ContentErrorPageElement : InnerTextConfigurationElement, IContentErrorPage
- {
- public ContentErrorPageElement(XElement rawXml)
- : base(rawXml)
- {
- }
-
- public ContentErrorPageElement()
- {
-
- }
-
- public bool HasContentId => ContentId != int.MinValue;
-
- public bool HasContentKey => ContentKey != Guid.Empty;
-
- public int ContentId
- {
- get
- {
- int parsed;
- if (int.TryParse(Value, out parsed))
- {
- return parsed;
- }
- return int.MinValue;
- }
- }
-
- public Guid ContentKey
- {
- get
- {
- Guid parsed;
- if (Guid.TryParse(Value, out parsed))
- {
- return parsed;
- }
- return Guid.Empty;
- }
- }
-
- public string ContentXPath => Value;
-
- public string Culture
- {
- get => (string) RawXml.Attribute("culture");
- set => RawXml.Attribute("culture").Value = value;
- }
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/ContentErrorsElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentErrorsElement.cs
deleted file mode 100644
index 5b5b54380d..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/ContentErrorsElement.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class ContentErrorsElement : RawXmlConfigurationElement
- {
-
- public IEnumerable Error404Collection
- {
- get
- {
- var result = new ContentError404Collection();
- if (RawXml != null)
- {
- var e404 = RawXml.Elements("error404").First();
- var ePages = e404.Elements("errorPage").ToArray();
- if (ePages.Any())
- {
- //there are multiple
- foreach (var e in ePages)
- {
- result.Add(new ContentErrorPageElement(e)
- {
- Culture = (string)e.Attribute("culture"),
- RawValue = e.Value
- });
- }
- }
- else
- {
- //there's only one defined
- result.Add(new ContentErrorPageElement(e404)
- {
- RawValue = e404.Value
- });
- }
- }
- return result;
- }
- }
-
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/ContentImagingElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ContentImagingElement.cs
deleted file mode 100644
index 9a5a9b2a59..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/ContentImagingElement.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class ContentImagingElement : ConfigurationElement
- {
-
- [ConfigurationProperty("imageFileTypes")]
- internal CommaDelimitedConfigurationElement ImageFileTypes =>
- new OptionalCommaDelimitedConfigurationElement(
- (CommaDelimitedConfigurationElement)this["imageFileTypes"],
- //set the default
- GetDefaultImageFileTypes());
-
- public static string[] GetDefaultImageFileTypes()
- {
- return new[] {"jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif"};
- }
-
- private ImagingAutoFillPropertiesCollection _defaultImageAutoFill;
-
- [ConfigurationCollection(typeof(ImagingAutoFillPropertiesCollection), AddItemName = "uploadField")]
- [ConfigurationProperty("autoFillImageProperties", IsDefaultCollection = true)]
- internal ImagingAutoFillPropertiesCollection ImageAutoFillProperties
- {
- get
- {
- if (_defaultImageAutoFill != null)
- {
- return _defaultImageAutoFill;
- }
-
- //here we need to check if this element is defined, if it is not then we'll setup the defaults
- var prop = Properties["autoFillImageProperties"];
- var autoFill = this[prop] as ConfigurationElement;
- if (autoFill != null && autoFill.ElementInformation.IsPresent == false)
- {
- _defaultImageAutoFill = new ImagingAutoFillPropertiesCollection
- {
- new ImagingAutoFillUploadFieldElement
- {
- Alias = "umbracoFile"
- }
- };
- return _defaultImageAutoFill;
- }
-
- return (ImagingAutoFillPropertiesCollection) base["autoFillImageProperties"];
- }
- }
-
- public static ImagingAutoFillPropertiesCollection GetDefaultImageAutoFillProperties()
- {
- return new ImagingAutoFillPropertiesCollection
- {
- new ImagingAutoFillUploadFieldElement
- {
- Alias = "umbracoFile"
- }
- };
- }
-
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs b/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs
deleted file mode 100644
index 0bac9721a3..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillPropertiesCollection.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Collections.Generic;
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class ImagingAutoFillPropertiesCollection : ConfigurationElementCollection, IEnumerable
- {
-
- protected override ConfigurationElement CreateNewElement()
- {
- return new ImagingAutoFillUploadFieldElement();
- }
-
- protected override object GetElementKey(ConfigurationElement element)
- {
- return ((ImagingAutoFillUploadFieldElement)element).Alias;
- }
-
- internal void Add(ImagingAutoFillUploadFieldElement item)
- {
- BaseAdd(item);
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- for (var i = 0; i < Count; i++)
- {
- yield return BaseGet(i) as IImagingAutoFillUploadField;
- }
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs b/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs
deleted file mode 100644
index 9b4c45b5c6..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/ImagingAutoFillUploadFieldElement.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class ImagingAutoFillUploadFieldElement : UmbracoConfigurationElement, IImagingAutoFillUploadField
- {
- ///
- /// Allow setting internally so we can create a default
- ///
- [ConfigurationProperty("alias", IsKey = true, IsRequired = true)]
- public string Alias
- {
- get => (string)this["alias"];
- set => this["alias"] = value;
- }
-
- [ConfigurationProperty("widthFieldAlias")]
- internal InnerTextConfigurationElement WidthFieldAlias => GetOptionalTextElement("widthFieldAlias", "umbracoWidth");
-
- [ConfigurationProperty("heightFieldAlias")]
- internal InnerTextConfigurationElement HeightFieldAlias => GetOptionalTextElement("heightFieldAlias", "umbracoHeight");
-
- [ConfigurationProperty("lengthFieldAlias")]
- internal InnerTextConfigurationElement LengthFieldAlias => GetOptionalTextElement("lengthFieldAlias", "umbracoBytes");
-
- [ConfigurationProperty("extensionFieldAlias")]
- internal InnerTextConfigurationElement ExtensionFieldAlias => GetOptionalTextElement("extensionFieldAlias", "umbracoExtension");
-
- string IImagingAutoFillUploadField.Alias => Alias;
-
- string IImagingAutoFillUploadField.WidthFieldAlias => WidthFieldAlias;
-
- string IImagingAutoFillUploadField.HeightFieldAlias => HeightFieldAlias;
-
- string IImagingAutoFillUploadField.LengthFieldAlias => LengthFieldAlias;
-
- string IImagingAutoFillUploadField.ExtensionFieldAlias => ExtensionFieldAlias;
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/MemberPasswordConfigurationElement.cs b/src/Umbraco.Configuration/UmbracoSettings/MemberPasswordConfigurationElement.cs
deleted file mode 100644
index 92cd112630..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/MemberPasswordConfigurationElement.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class MemberPasswordConfigurationElement : PasswordConfigurationElement, IMemberPasswordConfiguration
- {
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/NotificationsElement.cs b/src/Umbraco.Configuration/UmbracoSettings/NotificationsElement.cs
deleted file mode 100644
index afadff5654..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/NotificationsElement.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class NotificationsElement : UmbracoConfigurationElement
- {
- [ConfigurationProperty("email")]
- internal InnerTextConfigurationElement NotificationEmailAddress => (InnerTextConfigurationElement)this["email"];
-
- [ConfigurationProperty("disableHtmlEmail")]
- internal InnerTextConfigurationElement DisableHtmlEmail => GetOptionalTextElement("disableHtmlEmail", false);
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/PasswordConfigurationElement.cs b/src/Umbraco.Configuration/UmbracoSettings/PasswordConfigurationElement.cs
deleted file mode 100644
index 91b5cae7a4..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/PasswordConfigurationElement.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class PasswordConfigurationElement : UmbracoConfigurationElement
- {
- [ConfigurationProperty("requiredLength", DefaultValue = "12")]
- public int RequiredLength => (int)base["requiredLength"];
-
- [ConfigurationProperty("requireNonLetterOrDigit", DefaultValue = "false")]
- public bool RequireNonLetterOrDigit => (bool)base["requireNonLetterOrDigit"];
-
- [ConfigurationProperty("requireDigit", DefaultValue = "false")]
- public bool RequireDigit => (bool)base["requireDigit"];
-
- [ConfigurationProperty("requireLowercase", DefaultValue = "false")]
- public bool RequireLowercase => (bool)base["requireLowercase"];
-
- [ConfigurationProperty("requireUppercase", DefaultValue = "false")]
- public bool RequireUppercase => (bool)base["requireUppercase"];
-
- [ConfigurationProperty("useLegacyEncoding", DefaultValue = "false")]
- public bool UseLegacyEncoding => (bool)base["useLegacyEncoding"];
-
- [ConfigurationProperty("hashAlgorithmType", DefaultValue = Constants.Security.AspNetCoreV3PasswordHashAlgorithmName)]
- public string HashAlgorithmType => (string)base["hashAlgorithmType"];
-
- [ConfigurationProperty("maxFailedAccessAttemptsBeforeLockout", DefaultValue = "5")]
- public int MaxFailedAccessAttemptsBeforeLockout => (int)base["maxFailedAccessAttemptsBeforeLockout"];
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/UmbracoConfigurationElement.cs b/src/Umbraco.Configuration/UmbracoSettings/UmbracoConfigurationElement.cs
deleted file mode 100644
index 670f620b15..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/UmbracoConfigurationElement.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Collections.Concurrent;
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- ///
- /// Base class with shared helper methods
- ///
- internal class UmbracoConfigurationElement : ConfigurationElement
- {
- ///
- /// Used so the RawElement types are not re-created every time they are accessed
- ///
- private readonly ConcurrentDictionary _rawElements = new ConcurrentDictionary();
-
- protected OptionalInnerTextConfigurationElement GetOptionalTextElement(string name, T defaultVal)
- {
- return (OptionalInnerTextConfigurationElement) _rawElements.GetOrAdd(
- name,
- s => new OptionalInnerTextConfigurationElement(
- (InnerTextConfigurationElement) this[s],
- //set the default
- defaultVal));
- }
-
- protected OptionalCommaDelimitedConfigurationElement GetOptionalDelimitedElement(string name, string[] defaultVal)
- {
- return (OptionalCommaDelimitedConfigurationElement) _rawElements.GetOrAdd(
- name,
- s => new OptionalCommaDelimitedConfigurationElement(
- (CommaDelimitedConfigurationElement) this[name],
- //set the default
- defaultVal));
- }
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/UrlReplacingElement.cs b/src/Umbraco.Configuration/UmbracoSettings/UrlReplacingElement.cs
deleted file mode 100644
index 3e12d106ff..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/UrlReplacingElement.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Collections.Generic;
-using System.Configuration;
-
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class UrlReplacingElement : ConfigurationElement
- {
- [ConfigurationProperty("removeDoubleDashes", DefaultValue = true)]
- internal bool RemoveDoubleDashes => (bool) base["removeDoubleDashes"];
-
- [ConfigurationProperty("toAscii", DefaultValue = "false")]
- internal string ConvertUrlsToAscii => (string) base["toAscii"];
-
- [ConfigurationCollection(typeof(CharCollection), AddItemName = "char")]
- [ConfigurationProperty("", IsDefaultCollection = true)]
- internal CharCollection CharCollection
- {
- get => (CharCollection)base[""];
- set => base[""] = value;
- }
-
- }
-}
diff --git a/src/Umbraco.Configuration/UmbracoSettings/UserPasswordConfigurationElement.cs b/src/Umbraco.Configuration/UmbracoSettings/UserPasswordConfigurationElement.cs
deleted file mode 100644
index a1d2aa8842..0000000000
--- a/src/Umbraco.Configuration/UmbracoSettings/UserPasswordConfigurationElement.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace Umbraco.Core.Configuration.UmbracoSettings
-{
- internal class UserPasswordConfigurationElement : PasswordConfigurationElement, IUserPasswordConfiguration
- {
- }
-}