diff --git a/src/Umbraco.Core/Composing/Current.cs b/src/Umbraco.Core/Composing/Current.cs
index 8b594db424..532a3fe676 100644
--- a/src/Umbraco.Core/Composing/Current.cs
+++ b/src/Umbraco.Core/Composing/Current.cs
@@ -1,12 +1,6 @@
using System;
using Umbraco.Core.Configuration;
using Umbraco.Core.IO;
-using Umbraco.Core.Logging;
-using Umbraco.Core.Models.PublishedContent;
-using Umbraco.Core.PackageActions;
-using Umbraco.Core.Services;
-using Umbraco.Core.Strings;
-using Umbraco.Core.Sync;
namespace Umbraco.Core.Composing
{
@@ -23,15 +17,6 @@ namespace Umbraco.Core.Composing
{
private static IFactory _factory;
- // TODO: get rid of these oddities
- // we don't want Umbraco tests to die because the container has not been properly initialized,
- // for some too-important things such as IShortStringHelper or loggers, so if it's not
- // registered we setup a default one. We should really refactor our tests so that it does
- // not happen.
-
- private static ILogger _logger;
- private static Configs _configs;
-
///
/// Gets or sets the factory.
///
@@ -45,7 +30,6 @@ namespace Umbraco.Core.Composing
set
{
if (_factory != null) throw new InvalidOperationException("A factory has already been set.");
- if (_configs != null) throw new InvalidOperationException("Configs are unlocked.");
_factory = value;
}
}
@@ -64,65 +48,13 @@ namespace Umbraco.Core.Composing
_factory.DisposeIfDisposable();
_factory = null;
- _configs = null;
- _logger = null;
-
Resetted?.Invoke(null, EventArgs.Empty);
}
- ///
- /// Unlocks . Intended for testing only, and not supported in production code.
- ///
- ///
- /// For UNIT TESTS exclusively.
- /// Unlocks so that it is possible to add configurations
- /// directly to without having to wire composition.
- ///
- public static void UnlockConfigs(IConfigsFactory configsFactory, IIOHelper ioHelper)
- {
- if (_factory != null)
- throw new InvalidOperationException("Cannot unlock configs when a factory has been set.");
- _configs = configsFactory.Create(ioHelper);
- }
-
internal static event EventHandler Resetted;
- #region Getters
-
-
- public static IShortStringHelper ShortStringHelper => Factory.GetInstance();
-
-
- public static ILogger Logger
- => _logger ?? (_logger = _factory?.TryGetInstance()
- ?? new DebugDiagnosticsLogger(new MessageTemplates()));
-
- public static Configs Configs
- {
- get
- {
- if (_configs != null) return _configs;
- if (_factory == null) throw new InvalidOperationException("Can not get Current.Config during composition. Use composition.Config.");
- return _factory.GetInstance();
- }
- }
-
- internal static PackageActionCollection PackageActions
- => Factory.GetInstance();
-
- internal static IPublishedModelFactory PublishedModelFactory
- => Factory.GetInstance();
-
- public static IServerMessenger ServerMessenger
- => Factory.GetInstance();
-
- public static ServiceContext Services
- => Factory.GetInstance();
-
public static IIOHelper IOHelper
=> Factory.GetInstance();
-
- #endregion
}
}
diff --git a/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs b/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
index 7e42a526b0..7998e4d69c 100644
--- a/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
+++ b/src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
@@ -5,6 +5,7 @@ using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
using Umbraco.Core.Composing;
+using Umbraco.Core.Configuration;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Models.Membership;
@@ -37,12 +38,12 @@ namespace Umbraco.Core.Models.Identity
/// This is allowed to be null (but would need to be filled in if trying to persist this instance)
///
///
- public static BackOfficeIdentityUser CreateNew(string username, string email, string culture)
+ public static BackOfficeIdentityUser CreateNew(IGlobalSettings globalSettings, string username, string email, string culture)
{
if (string.IsNullOrWhiteSpace(username)) throw new ArgumentException("Value cannot be null or whitespace.", nameof(username));
if (string.IsNullOrWhiteSpace(culture)) throw new ArgumentException("Value cannot be null or whitespace.", nameof(culture));
- var user = new BackOfficeIdentityUser(Array.Empty());
+ var user = new BackOfficeIdentityUser(globalSettings, Array.Empty());
user.DisableChangeTracking();
user._userName = username;
user._email = email;
@@ -55,12 +56,12 @@ namespace Umbraco.Core.Models.Identity
return user;
}
- private BackOfficeIdentityUser(IReadOnlyUserGroup[] groups)
+ private BackOfficeIdentityUser(IGlobalSettings globalSettings, IReadOnlyUserGroup[] groups)
{
_startMediaIds = Array.Empty();
_startContentIds = Array.Empty();
_allowedSections = Array.Empty();
- _culture = Current.Configs.Global().DefaultUILanguage; // TODO: inject
+ _culture = globalSettings.DefaultUILanguage;
// must initialize before setting groups
_roles = new ObservableCollection>();
@@ -73,10 +74,11 @@ namespace Umbraco.Core.Models.Identity
///
/// Creates an existing user with the specified groups
///
+ ///
///
///
- public BackOfficeIdentityUser(int userId, IEnumerable groups)
- : this(groups.ToArray())
+ public BackOfficeIdentityUser(IGlobalSettings globalSettings, int userId, IEnumerable groups)
+ : this(globalSettings, groups.ToArray())
{
// use the property setters - they do more than just setting a field
Id = userId;
@@ -426,6 +428,6 @@ namespace Umbraco.Core.Models.Identity
private static readonly DelegateEqualityComparer StartIdsComparer = new DelegateEqualityComparer(
(groups, enumerable) => groups.UnsortedSequenceEqual(enumerable),
groups => groups.GetHashCode());
-
+
}
}
diff --git a/src/Umbraco.Core/Models/Identity/IdentityMapDefinition.cs b/src/Umbraco.Core/Models/Identity/IdentityMapDefinition.cs
index 57e1c9ee5c..ef848d545d 100644
--- a/src/Umbraco.Core/Models/Identity/IdentityMapDefinition.cs
+++ b/src/Umbraco.Core/Models/Identity/IdentityMapDefinition.cs
@@ -24,7 +24,7 @@ namespace Umbraco.Core.Models.Identity
mapper.Define(
(source, context) =>
{
- var target = new BackOfficeIdentityUser(source.Id, source.Groups);
+ var target = new BackOfficeIdentityUser(_globalSettings, source.Id, source.Groups);
target.DisableChangeTracking();
return target;
},
diff --git a/src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs b/src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs
index 987fe7410c..390997173b 100644
--- a/src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs
+++ b/src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs
@@ -24,17 +24,19 @@ namespace Umbraco.Tests.Composing
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.GetConfigs(), TestHelper.IOHelper, AppCaches.NoCache);
+ var expectedPackageActions = TypeLoader.GetPackageActions();
composition.WithCollectionBuilder()
- .Add(() => TypeLoader.GetPackageActions());
+ .Add(() => expectedPackageActions);
- Current.Factory = composition.CreateFactory();
+ var factory = composition.CreateFactory();
- var actions = Current.PackageActions;
+ var actions = factory.GetInstance();
Assert.AreEqual(2, actions.Count());
// order is unspecified, but both must be there
var hasAction1 = actions.ElementAt(0) is PackageAction1 || actions.ElementAt(1) is PackageAction1;
var hasAction2 = actions.ElementAt(0) is PackageAction2 || actions.ElementAt(1) is PackageAction2;
+
Assert.IsTrue(hasAction1);
Assert.IsTrue(hasAction2);
}
diff --git a/src/Umbraco.Tests/Issues/U9560.cs b/src/Umbraco.Tests/Issues/U9560.cs
index c70b8710ef..92d5045819 100644
--- a/src/Umbraco.Tests/Issues/U9560.cs
+++ b/src/Umbraco.Tests/Issues/U9560.cs
@@ -5,6 +5,7 @@ using Umbraco.Core.Persistence;
using Umbraco.Tests.Testing;
using Umbraco.Core;
using Umbraco.Tests.TestHelpers;
+using Umbraco.Web.Composing;
namespace Umbraco.Tests.Issues
{
@@ -21,7 +22,7 @@ namespace Umbraco.Tests.Issues
contentType.Name = "test";
var propertyType = new PropertyType(ShortStringHelper, "test", ValueStorageType.Ntext, "prop") { Name = "Prop", Description = "", Mandatory = false, SortOrder = 1, DataTypeId = -88 };
contentType.PropertyTypeCollection.Add(propertyType);
- Core.Composing.Current.Services.ContentTypeService.Save(contentType);
+ Current.Services.ContentTypeService.Save(contentType);
var aliasName = string.Empty;
diff --git a/src/Umbraco.Tests/Macros/MacroTests.cs b/src/Umbraco.Tests/Macros/MacroTests.cs
index 7f1bb1a8e3..2b2a8051e7 100644
--- a/src/Umbraco.Tests/Macros/MacroTests.cs
+++ b/src/Umbraco.Tests/Macros/MacroTests.cs
@@ -23,11 +23,6 @@ namespace Umbraco.Tests.Macros
new ObjectCacheAppCache(typeFinder),
NoAppCache.Instance,
new IsolatedCaches(type => new ObjectCacheAppCache(typeFinder)));
- //Current.ApplicationContext = new ApplicationContext(cacheHelper, new ProfilingLogger(Mock.Of(), Mock.Of()));
-
- Current.Reset();
- Current.UnlockConfigs(TestHelper.GetConfigsFactory(), TestHelper.IOHelper);
- Current.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
}
[TestCase("PartialView", true)]
diff --git a/src/Umbraco.Tests/Models/MacroTests.cs b/src/Umbraco.Tests/Models/MacroTests.cs
index 429649a6c1..b14092955f 100644
--- a/src/Umbraco.Tests/Models/MacroTests.cs
+++ b/src/Umbraco.Tests/Models/MacroTests.cs
@@ -1,8 +1,6 @@
using System;
using System.Linq;
using NUnit.Framework;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Entities;
using Umbraco.Tests.TestHelpers;
@@ -12,14 +10,6 @@ namespace Umbraco.Tests.Models
[TestFixture]
public class MacroTests
{
- [SetUp]
- public void Init()
- {
- Current.Reset();
- Current.UnlockConfigs(TestHelper.GetConfigsFactory(), TestHelper.IOHelper);
- Current.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
- }
-
[Test]
public void Can_Deep_Clone()
{
diff --git a/src/Umbraco.Tests/Models/MemberTests.cs b/src/Umbraco.Tests/Models/MemberTests.cs
index 049d7d72a8..e0cd826536 100644
--- a/src/Umbraco.Tests/Models/MemberTests.cs
+++ b/src/Umbraco.Tests/Models/MemberTests.cs
@@ -13,15 +13,6 @@ namespace Umbraco.Tests.Models
[TestFixture]
public class MemberTests
{
- [SetUp]
- public void Setup()
- {
- Current.Reset();
- Current.UnlockConfigs(TestHelper.GetConfigsFactory(), TestHelper.IOHelper);
- Current.Configs.Add(SettingsForTests.GetDefaultGlobalSettings);
- Current.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
- }
-
[Test]
public void Can_Deep_Clone()
{
diff --git a/src/Umbraco.Tests/Models/UserTests.cs b/src/Umbraco.Tests/Models/UserTests.cs
index ba98c69729..067e1e11e7 100644
--- a/src/Umbraco.Tests/Models/UserTests.cs
+++ b/src/Umbraco.Tests/Models/UserTests.cs
@@ -14,15 +14,7 @@ namespace Umbraco.Tests.Models
[TestFixture]
public class UserTests
{
- private IGlobalSettings GlobalSettings { get; } = SettingsForTests.GenerateMockGlobalSettings();
-
- [SetUp]
- public void Setup()
- {
- Current.Reset();
- Current.UnlockConfigs(TestHelper.GetConfigsFactory(), TestHelper.IOHelper);
- Current.Configs.Add(SettingsForTests.GetDefaultGlobalSettings);
- }
+ private IGlobalSettings GlobalSettings { get; } = SettingsForTests.GetDefaultGlobalSettings();
[Test]
public void Can_Deep_Clone()
diff --git a/src/Umbraco.Tests/Published/ConvertersTests.cs b/src/Umbraco.Tests/Published/ConvertersTests.cs
index 43f42455af..19adf28528 100644
--- a/src/Umbraco.Tests/Published/ConvertersTests.cs
+++ b/src/Umbraco.Tests/Published/ConvertersTests.cs
@@ -178,7 +178,7 @@ namespace Umbraco.Tests.Published
[Test]
public void SimpleConverter3Test()
{
- Current.Reset();
+ // Current.Reset();
var register = TestHelper.GetRegister();
var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.GetConfigs(), TestHelper.IOHelper, AppCaches.NoCache);
@@ -194,7 +194,7 @@ namespace Umbraco.Tests.Published
});
register.Register(f => factory);
- Current.Factory = composition.CreateFactory();
+ var registerFactory = composition.CreateFactory();
var cacheMock = new Mock();
var cacheContent = new Dictionary();
@@ -205,7 +205,7 @@ namespace Umbraco.Tests.Published
publishedSnapshotAccessorMock.Setup(x => x.PublishedSnapshot).Returns(publishedSnapshotMock.Object);
register.Register(f => publishedSnapshotAccessorMock.Object);
- var converters = Current.Factory.GetInstance();
+ var converters = registerFactory.GetInstance();
var dataTypeService = new TestObjects.TestDataTypeService(
new DataType(new VoidEditor(Mock.Of(), Mock.Of(), Mock.Of(),Mock.Of(), Mock.Of())) { Id = 1 },
@@ -236,8 +236,9 @@ namespace Umbraco.Tests.Published
Properties = new[] { new SolidPublishedProperty { Alias = "prop2", SolidHasValue = true, SolidValue = "1003" } }
};
- cacheContent[cnt1.Id] = cnt1.CreateModel(Current.PublishedModelFactory);
- cacheContent[cnt2.Id] = cnt2.CreateModel(Current.PublishedModelFactory);
+ var publishedModelFactory = registerFactory.GetInstance();
+ cacheContent[cnt1.Id] = cnt1.CreateModel(publishedModelFactory);
+ cacheContent[cnt2.Id] = cnt2.CreateModel(publishedModelFactory);
// can get the actual property Clr type
// ie ModelType gets properly mapped by IPublishedContentModelFactory
diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentDataTableTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentDataTableTests.cs
index f01c1f0b6e..0685e2c679 100644
--- a/src/Umbraco.Tests/PublishedContent/PublishedContentDataTableTests.cs
+++ b/src/Umbraco.Tests/PublishedContent/PublishedContentDataTableTests.cs
@@ -4,8 +4,7 @@ using System.Collections.ObjectModel;
using System.Linq;
using Moq;
using NUnit.Framework;
-using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs
index 85e880e8bb..d1c39e1e31 100644
--- a/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs
+++ b/src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
using NUnit.Framework;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Tests.Testing;
diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs
index 0c4549c3ee..8698eb18d7 100644
--- a/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs
+++ b/src/Umbraco.Tests/PublishedContent/PublishedContentSnapshotTestBase.cs
@@ -1,7 +1,6 @@
using System;
using System.IO;
using System.Linq;
-using System.Reflection;
using System.Web.Routing;
using Moq;
using Umbraco.Core;
@@ -10,10 +9,8 @@ using Umbraco.Web;
using Umbraco.Web.PublishedCache;
using Umbraco.Web.Routing;
using Umbraco.Web.Security;
-using Umbraco.Core.Composing;
-using Current = Umbraco.Core.Composing.Current;
using Umbraco.Core.Cache;
-using Umbraco.Core.Configuration;
+using Umbraco.Core.Composing;
using Umbraco.Core.Hosting;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
@@ -23,6 +20,7 @@ using Umbraco.Core.Services;
using Umbraco.Core.Strings;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing.Objects.Accessors;
+using Current = Umbraco.Web.Composing.Current;
namespace Umbraco.Tests.PublishedContent
{
diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
index 8428cb9ff4..5c03a0721d 100644
--- a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
+++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
@@ -1,32 +1,28 @@
using System;
-using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Web;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.PropertyEditors;
using Umbraco.Web;
using Umbraco.Web.PublishedCache;
-using Umbraco.Core.Composing;
using Moq;
-using Newtonsoft.Json;
using Umbraco.Core.Cache;
-using Umbraco.Core.Configuration;
+using Umbraco.Core.Composing;
using Umbraco.Core.Hosting;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Services;
-using Umbraco.Core.Services.Implement;
using Umbraco.Core.Strings;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
using Umbraco.Web.Models.PublishedContent;
using Umbraco.Web.PropertyEditors;
using Umbraco.Web.Templates;
+using Current = Umbraco.Web.Composing.Current;
namespace Umbraco.Tests.PublishedContent
{
diff --git a/src/Umbraco.Tests/PublishedContent/SolidPublishedSnapshot.cs b/src/Umbraco.Tests/PublishedContent/SolidPublishedSnapshot.cs
index 271af62ba4..713acaa5dc 100644
--- a/src/Umbraco.Tests/PublishedContent/SolidPublishedSnapshot.cs
+++ b/src/Umbraco.Tests/PublishedContent/SolidPublishedSnapshot.cs
@@ -5,7 +5,7 @@ using System.Linq;
using Moq;
using Umbraco.Core;
using Umbraco.Core.Cache;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
diff --git a/src/Umbraco.Tests/Routing/ContentFinderByUrlTests.cs b/src/Umbraco.Tests/Routing/ContentFinderByUrlTests.cs
index 85168e4490..f7b6762774 100644
--- a/src/Umbraco.Tests/Routing/ContentFinderByUrlTests.cs
+++ b/src/Umbraco.Tests/Routing/ContentFinderByUrlTests.cs
@@ -3,9 +3,8 @@ using System.Globalization;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
-using Umbraco.Core.Models;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
using Umbraco.Web.Routing;
diff --git a/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs b/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs
index 377594b0f5..d6bd61dc8a 100644
--- a/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs
+++ b/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs
@@ -4,8 +4,7 @@ using System.Linq;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Services;
using Umbraco.Tests.TestHelpers.Entities;
diff --git a/src/Umbraco.Tests/Routing/UrlProviderTests.cs b/src/Umbraco.Tests/Routing/UrlProviderTests.cs
index 02aa95cd2e..1cecf74c3f 100644
--- a/src/Umbraco.Tests/Routing/UrlProviderTests.cs
+++ b/src/Umbraco.Tests/Routing/UrlProviderTests.cs
@@ -5,7 +5,7 @@ using System.Linq;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
diff --git a/src/Umbraco.Tests/Security/BackOfficeCookieManagerTests.cs b/src/Umbraco.Tests/Security/BackOfficeCookieManagerTests.cs
index 90c2f6c4bf..9ac45ae87a 100644
--- a/src/Umbraco.Tests/Security/BackOfficeCookieManagerTests.cs
+++ b/src/Umbraco.Tests/Security/BackOfficeCookieManagerTests.cs
@@ -7,8 +7,7 @@ using Microsoft.Owin;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Services;
+using Umbraco.Web.Composing;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
using Umbraco.Tests.Testing.Objects.Accessors;
diff --git a/src/Umbraco.Tests/Strings/StringExtensionsTests.cs b/src/Umbraco.Tests/Strings/StringExtensionsTests.cs
index e89607250b..694101b684 100644
--- a/src/Umbraco.Tests/Strings/StringExtensionsTests.cs
+++ b/src/Umbraco.Tests/Strings/StringExtensionsTests.cs
@@ -5,9 +5,8 @@ using System.Linq;
using System.Text;
using NUnit.Framework;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Strings;
-using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
using Umbraco.Web;
diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects.cs b/src/Umbraco.Tests/TestHelpers/TestObjects.cs
index 73b09fb1f0..776294dc5a 100644
--- a/src/Umbraco.Tests/TestHelpers/TestObjects.cs
+++ b/src/Umbraco.Tests/TestHelpers/TestObjects.cs
@@ -22,6 +22,7 @@ using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
using Umbraco.Core.Strings;
using Umbraco.Tests.TestHelpers.Stubs;
+using Current = Umbraco.Web.Composing.Current;
namespace Umbraco.Tests.TestHelpers
{
diff --git a/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs b/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs
index 9e6068373f..737e0fdcb1 100644
--- a/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs
+++ b/src/Umbraco.Tests/Web/Controllers/ContentControllerTests.cs
@@ -8,7 +8,7 @@ using Moq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NUnit.Framework;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Models.Membership;
diff --git a/src/Umbraco.Web.UI/Umbraco/Views/AuthorizeUpgrade.cshtml b/src/Umbraco.Web.UI/Umbraco/Views/AuthorizeUpgrade.cshtml
index f59e70e174..b48a67964c 100644
--- a/src/Umbraco.Web.UI/Umbraco/Views/AuthorizeUpgrade.cshtml
+++ b/src/Umbraco.Web.UI/Umbraco/Views/AuthorizeUpgrade.cshtml
@@ -1,17 +1,8 @@
-@using System.Collections
-@using System.Net.Http
-@using System.Web.Mvc.Html
-@using Umbraco.Core
+@using Umbraco.Core
@using ClientDependency.Core
@using ClientDependency.Core.Mvc
-@using Microsoft.Owin.Security
-@using Newtonsoft.Json
-@using Newtonsoft.Json.Linq
-@using Umbraco.Core.Composing
-@using Umbraco.Core.IO
+@using Umbraco.Web.Composing
@using Umbraco.Web
-@using Umbraco.Web.Editors
-@using Umbraco.Core.Configuration
@inherits System.Web.Mvc.WebViewPage
@{
Layout = null;
diff --git a/src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml b/src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml
index 822c8e7ed8..3489310b7d 100644
--- a/src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml
+++ b/src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml
@@ -1,10 +1,8 @@
@using Umbraco.Core
@using ClientDependency.Core
@using ClientDependency.Core.Mvc
-@using Umbraco.Core.Composing
-@using Umbraco.Core.IO
+@using Umbraco.Web.Composing
@using Umbraco.Web
-@using Umbraco.Core.Configuration
@inherits WebViewPage
diff --git a/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml b/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml
index ee34071328..d7d3737bf3 100644
--- a/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml
+++ b/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml
@@ -1,10 +1,8 @@
@using Umbraco.Core
@using ClientDependency.Core
@using ClientDependency.Core.Mvc
-@using Umbraco.Core.Composing
-@using Umbraco.Core.IO
+@using Umbraco.Web.Composing
@using Umbraco.Web
-@using Umbraco.Core.Configuration
@inherits System.Web.Mvc.WebViewPage
@{
diff --git a/src/Umbraco.Web.UI/config/splashes/NoNodes.aspx.designer.cs b/src/Umbraco.Web.UI/config/splashes/NoNodes.aspx.designer.cs
index 97c97a3e14..350b610bf0 100644
--- a/src/Umbraco.Web.UI/config/splashes/NoNodes.aspx.designer.cs
+++ b/src/Umbraco.Web.UI/config/splashes/NoNodes.aspx.designer.cs
@@ -3,22 +3,13 @@
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// the code is regenerated.
//
//------------------------------------------------------------------------------
namespace Umbraco.Web.UI.Config.Splashes {
-
-
+
+
public partial class NoNodes {
-
- ///
- /// Form1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
}
}
diff --git a/src/Umbraco.Web.UI/config/splashes/noNodes.aspx b/src/Umbraco.Web.UI/config/splashes/noNodes.aspx
index b0aa3d7837..961f2e006d 100644
--- a/src/Umbraco.Web.UI/config/splashes/noNodes.aspx
+++ b/src/Umbraco.Web.UI/config/splashes/noNodes.aspx
@@ -1,6 +1,6 @@
<%@ Page Language="C#" AutoEventWireup="True" Inherits="Umbraco.Web.UI.Config.Splashes.NoNodes" CodeBehind="NoNodes.aspx.cs" %>
<%@ Import Namespace="Umbraco.Core" %>
-<%@ Import Namespace="Umbraco.Core.Composing" %>
+<%@ Import Namespace="Umbraco.Web.Composing" %>
<%@ Import Namespace="Umbraco.Core.Configuration" %>
<%@ Import Namespace="Umbraco.Core.IO" %>
diff --git a/src/Umbraco.Web/Editors/BackOfficeController.cs b/src/Umbraco.Web/Editors/BackOfficeController.cs
index 63ab65e7f2..4d2f655724 100644
--- a/src/Umbraco.Web/Editors/BackOfficeController.cs
+++ b/src/Umbraco.Web/Editors/BackOfficeController.cs
@@ -464,6 +464,7 @@ namespace Umbraco.Web.Editors
var groups = Services.UserService.GetUserGroupsByAlias(autoLinkOptions.GetDefaultUserGroups(UmbracoContext, loginInfo));
var autoLinkUser = BackOfficeIdentityUser.CreateNew(
+ GlobalSettings,
loginInfo.Email,
loginInfo.Email,
autoLinkOptions.GetDefaultCulture(UmbracoContext, loginInfo));
diff --git a/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs b/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs
index 010487b4c0..dd109f6f5d 100644
--- a/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs
+++ b/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs
@@ -11,7 +11,7 @@ using ClientDependency.Core.Config;
using Microsoft.Owin;
using Microsoft.Owin.Security;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Web.Features;
using Umbraco.Web.HealthCheck;
diff --git a/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs b/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs
index fbbd7582f9..bad0531724 100644
--- a/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs
+++ b/src/Umbraco.Web/Editors/Filters/MemberSaveModelValidator.cs
@@ -6,12 +6,11 @@ using System.Net.Http;
using System.Web.Http.Controllers;
using System.Web.Http.ModelBinding;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Services;
using Umbraco.Web.Models.ContentEditing;
-using Umbraco.Web.Security;
namespace Umbraco.Web.Editors.Filters
{
diff --git a/src/Umbraco.Web/Editors/Filters/UserGroupAuthorizationAttribute.cs b/src/Umbraco.Web/Editors/Filters/UserGroupAuthorizationAttribute.cs
index e1d6626055..454d81666a 100644
--- a/src/Umbraco.Web/Editors/Filters/UserGroupAuthorizationAttribute.cs
+++ b/src/Umbraco.Web/Editors/Filters/UserGroupAuthorizationAttribute.cs
@@ -4,7 +4,7 @@ using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Controllers;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.Editors.Filters
{
diff --git a/src/Umbraco.Web/Editors/MediaController.cs b/src/Umbraco.Web/Editors/MediaController.cs
index c1675f924e..4151a0e9a0 100644
--- a/src/Umbraco.Web/Editors/MediaController.cs
+++ b/src/Umbraco.Web/Editors/MediaController.cs
@@ -13,7 +13,6 @@ using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
-using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Services;
using Umbraco.Web.Models.ContentEditing;
using Umbraco.Web.Mvc;
@@ -21,7 +20,7 @@ using Umbraco.Web.WebApi;
using System.Linq;
using System.Web.Http.Controllers;
using Umbraco.Core.Cache;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Web.WebApi.Filters;
using Umbraco.Core.Persistence.Querying;
diff --git a/src/Umbraco.Web/Editors/MemberTypeController.cs b/src/Umbraco.Web/Editors/MemberTypeController.cs
index 0ad0d405e3..7fd2342356 100644
--- a/src/Umbraco.Web/Editors/MemberTypeController.cs
+++ b/src/Umbraco.Web/Editors/MemberTypeController.cs
@@ -6,7 +6,7 @@ using System.Net.Http;
using System.Web.Http;
using Umbraco.Core;
using Umbraco.Core.Cache;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Dictionary;
using Umbraco.Core.Logging;
diff --git a/src/Umbraco.Web/Editors/RedirectUrlManagementController.cs b/src/Umbraco.Web/Editors/RedirectUrlManagementController.cs
index 9252899027..18cd2c8499 100644
--- a/src/Umbraco.Web/Editors/RedirectUrlManagementController.cs
+++ b/src/Umbraco.Web/Editors/RedirectUrlManagementController.cs
@@ -1,7 +1,6 @@
using System;
using System.Web.Http;
using System.Xml;
-using System.Collections.Generic;
using System.Linq;
using System.Security;
using Umbraco.Core.Logging;
@@ -11,7 +10,7 @@ using Umbraco.Web.Mvc;
using Umbraco.Web.WebApi;
using File = System.IO.File;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.Editors
{
diff --git a/src/Umbraco.Web/Editors/TemplateController.cs b/src/Umbraco.Web/Editors/TemplateController.cs
index 666e1d2987..949bbfb8ae 100644
--- a/src/Umbraco.Web/Editors/TemplateController.cs
+++ b/src/Umbraco.Web/Editors/TemplateController.cs
@@ -5,7 +5,7 @@ using System.Net.Http;
using System.Web.Http;
using Umbraco.Core;
using Umbraco.Core.Cache;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
diff --git a/src/Umbraco.Web/Editors/TourController.cs b/src/Umbraco.Web/Editors/TourController.cs
index c7c60c502d..34e8335098 100644
--- a/src/Umbraco.Web/Editors/TourController.cs
+++ b/src/Umbraco.Web/Editors/TourController.cs
@@ -4,9 +4,7 @@ using System.IO;
using System.Linq;
using Newtonsoft.Json;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
-using Umbraco.Core.IO;
+using Umbraco.Web.Composing;
using Umbraco.Web.Models;
using Umbraco.Web.Mvc;
using Umbraco.Web.Tour;
diff --git a/src/Umbraco.Web/Editors/UpdateCheckController.cs b/src/Umbraco.Web/Editors/UpdateCheckController.cs
index 9206d1f71f..71c2e55d33 100644
--- a/src/Umbraco.Web/Editors/UpdateCheckController.cs
+++ b/src/Umbraco.Web/Editors/UpdateCheckController.cs
@@ -4,7 +4,7 @@ using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Http.Filters;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Models;
using Umbraco.Web.Models;
diff --git a/src/Umbraco.Web/Editors/UserGroupsController.cs b/src/Umbraco.Web/Editors/UserGroupsController.cs
index 101716c84e..b7e18389a9 100644
--- a/src/Umbraco.Web/Editors/UserGroupsController.cs
+++ b/src/Umbraco.Web/Editors/UserGroupsController.cs
@@ -4,8 +4,7 @@ using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
-using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Services;
diff --git a/src/Umbraco.Web/Editors/UsersController.cs b/src/Umbraco.Web/Editors/UsersController.cs
index d5d9e1e06c..4d1166cc15 100644
--- a/src/Umbraco.Web/Editors/UsersController.cs
+++ b/src/Umbraco.Web/Editors/UsersController.cs
@@ -297,7 +297,7 @@ namespace Umbraco.Web.Editors
//we want to create the user with the UserManager, this ensures the 'empty' (special) password
//format is applied without us having to duplicate that logic
- var identityUser = BackOfficeIdentityUser.CreateNew(userSave.Username, userSave.Email, GlobalSettings.DefaultUILanguage);
+ var identityUser = BackOfficeIdentityUser.CreateNew(GlobalSettings, userSave.Username, userSave.Email, GlobalSettings.DefaultUILanguage);
identityUser.Name = userSave.Name;
var created = await UserManager.CreateAsync(identityUser);
@@ -391,7 +391,7 @@ namespace Umbraco.Web.Editors
{
//we want to create the user with the UserManager, this ensures the 'empty' (special) password
//format is applied without us having to duplicate that logic
- var identityUser = BackOfficeIdentityUser.CreateNew(userSave.Username, userSave.Email, GlobalSettings.DefaultUILanguage);
+ var identityUser = BackOfficeIdentityUser.CreateNew(GlobalSettings, userSave.Username, userSave.Email, GlobalSettings.DefaultUILanguage);
identityUser.Name = userSave.Name;
var created = await UserManager.CreateAsync(identityUser);
diff --git a/src/Umbraco.Web/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs b/src/Umbraco.Web/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs
index b9604b48f3..3e0de6e2eb 100644
--- a/src/Umbraco.Web/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs
+++ b/src/Umbraco.Web/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.IO;
+using Umbraco.Web.Composing;
using Umbraco.Core.Services;
using Umbraco.Web.Install;
diff --git a/src/Umbraco.Web/HealthCheck/HealthCheckController.cs b/src/Umbraco.Web/HealthCheck/HealthCheckController.cs
index 2f72b946de..3f76f7061a 100644
--- a/src/Umbraco.Web/HealthCheck/HealthCheckController.cs
+++ b/src/Umbraco.Web/HealthCheck/HealthCheckController.cs
@@ -1,14 +1,10 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel;
-using System.Configuration;
using System.Linq;
using System.Web.Http;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
-using Umbraco.Core.Configuration;
-using Umbraco.Core.Configuration.HealthChecks;
using Umbraco.Web.Editors;
using Umbraco.Web.WebApi.Filters;
diff --git a/src/Umbraco.Web/HealthCheck/HealthCheckResults.cs b/src/Umbraco.Web/HealthCheck/HealthCheckResults.cs
index 61028699f0..42ed246a46 100644
--- a/src/Umbraco.Web/HealthCheck/HealthCheckResults.cs
+++ b/src/Umbraco.Web/HealthCheck/HealthCheckResults.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using HeyRed.MarkdownSharp;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration.HealthChecks;
using Umbraco.Core.Logging;
diff --git a/src/Umbraco.Web/HealthCheck/NotificationMethods/EmailNotificationMethod.cs b/src/Umbraco.Web/HealthCheck/NotificationMethods/EmailNotificationMethod.cs
index ddde3f7b98..3152059d44 100644
--- a/src/Umbraco.Web/HealthCheck/NotificationMethods/EmailNotificationMethod.cs
+++ b/src/Umbraco.Web/HealthCheck/NotificationMethods/EmailNotificationMethod.cs
@@ -1,10 +1,9 @@
using System;
-using System.Collections.Generic;
using System.Net.Mail;
using System.Threading;
using System.Threading.Tasks;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Logging;
using Umbraco.Core.Services;
diff --git a/src/Umbraco.Web/HealthCheck/NotificationMethods/NotificationMethodBase.cs b/src/Umbraco.Web/HealthCheck/NotificationMethods/NotificationMethodBase.cs
index cf71be3c34..7836aa3079 100644
--- a/src/Umbraco.Web/HealthCheck/NotificationMethods/NotificationMethodBase.cs
+++ b/src/Umbraco.Web/HealthCheck/NotificationMethods/NotificationMethodBase.cs
@@ -3,8 +3,7 @@ using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration.HealthChecks;
namespace Umbraco.Web.HealthCheck.NotificationMethods
diff --git a/src/Umbraco.Web/ImageProcessorLogger.cs b/src/Umbraco.Web/ImageProcessorLogger.cs
index 75df6bd246..d01207b401 100644
--- a/src/Umbraco.Web/ImageProcessorLogger.cs
+++ b/src/Umbraco.Web/ImageProcessorLogger.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.CompilerServices;
using ImageProcessor.Common.Exceptions;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
namespace Umbraco.Web
diff --git a/src/Umbraco.Web/Install/Controllers/InstallController.cs b/src/Umbraco.Web/Install/Controllers/InstallController.cs
index 7529b355c9..1a363de75f 100644
--- a/src/Umbraco.Web/Install/Controllers/InstallController.cs
+++ b/src/Umbraco.Web/Install/Controllers/InstallController.cs
@@ -1,7 +1,7 @@
using System;
using System.Web.Mvc;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Logging;
using Umbraco.Web.JavaScript;
diff --git a/src/Umbraco.Web/Install/InstallSteps/DatabaseConfigureStep.cs b/src/Umbraco.Web/Install/InstallSteps/DatabaseConfigureStep.cs
index 8d1e161811..1fabbebd5d 100644
--- a/src/Umbraco.Web/Install/InstallSteps/DatabaseConfigureStep.cs
+++ b/src/Umbraco.Web/Install/InstallSteps/DatabaseConfigureStep.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading.Tasks;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Migrations.Install;
using Umbraco.Web.Install.Models;
diff --git a/src/Umbraco.Web/Install/InstallSteps/NewInstallStep.cs b/src/Umbraco.Web/Install/InstallSteps/NewInstallStep.cs
index 9bdade968c..5b5cc39a06 100644
--- a/src/Umbraco.Web/Install/InstallSteps/NewInstallStep.cs
+++ b/src/Umbraco.Web/Install/InstallSteps/NewInstallStep.cs
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
using System.Web;
using Newtonsoft.Json;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Migrations.Install;
using Umbraco.Core.Models.Identity;
diff --git a/src/Umbraco.Web/JavaScript/JsInitialization.cs b/src/Umbraco.Web/JavaScript/JsInitialization.cs
index 30772137e0..b106d6f49e 100644
--- a/src/Umbraco.Web/JavaScript/JsInitialization.cs
+++ b/src/Umbraco.Web/JavaScript/JsInitialization.cs
@@ -7,8 +7,7 @@ using ClientDependency.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.IO;
+using Umbraco.Web.Composing;
using Umbraco.Core.Manifest;
namespace Umbraco.Web.JavaScript
diff --git a/src/Umbraco.Web/JavaScript/UmbracoClientDependencyLoader.cs b/src/Umbraco.Web/JavaScript/UmbracoClientDependencyLoader.cs
index 135d1acc80..da9ecc97e8 100644
--- a/src/Umbraco.Web/JavaScript/UmbracoClientDependencyLoader.cs
+++ b/src/Umbraco.Web/JavaScript/UmbracoClientDependencyLoader.cs
@@ -2,8 +2,7 @@
using ClientDependency.Core.Controls;
using ClientDependency.Core.FileRegistration.Providers;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.IO;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.JavaScript
{
diff --git a/src/Umbraco.Web/Models/ContentEditing/ContentTypeBasic.cs b/src/Umbraco.Web/Models/ContentEditing/ContentTypeBasic.cs
index 9918b9c3a5..167d0e1627 100644
--- a/src/Umbraco.Web/Models/ContentEditing/ContentTypeBasic.cs
+++ b/src/Umbraco.Web/Models/ContentEditing/ContentTypeBasic.cs
@@ -4,10 +4,7 @@ using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
-using Umbraco.Core.IO;
-using Umbraco.Core.Models.Validation;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.Models.ContentEditing
{
diff --git a/src/Umbraco.Web/Models/ContentEditing/UserInvite.cs b/src/Umbraco.Web/Models/ContentEditing/UserInvite.cs
index b18b1539be..405bececc9 100644
--- a/src/Umbraco.Web/Models/ContentEditing/UserInvite.cs
+++ b/src/Umbraco.Web/Models/ContentEditing/UserInvite.cs
@@ -3,8 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.Serialization;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.Models.ContentEditing
{
diff --git a/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs b/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs
index 6eaeef17f2..9323417b0a 100644
--- a/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs
+++ b/src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Mapping;
using Umbraco.Core.Models;
diff --git a/src/Umbraco.Web/Models/Mapping/MediaMapDefinition.cs b/src/Umbraco.Web/Models/Mapping/MediaMapDefinition.cs
index 67617807fc..bf89e11370 100644
--- a/src/Umbraco.Web/Models/Mapping/MediaMapDefinition.cs
+++ b/src/Umbraco.Web/Models/Mapping/MediaMapDefinition.cs
@@ -1,6 +1,5 @@
-using System.Linq;
-using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Core;
+using Umbraco.Web.Composing;
using Umbraco.Core.Dictionary;
using Umbraco.Core.Logging;
using Umbraco.Core.Mapping;
diff --git a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs
index 104f0acb15..d2b83abe9d 100644
--- a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs
+++ b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupMapper.cs
@@ -1,14 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using Umbraco.Composing;
using Umbraco.Core;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
+using Umbraco.Web.Composing;
using Umbraco.Web.Models.ContentEditing;
-using Current = Umbraco.Core.Composing.Current;
namespace Umbraco.Web.Models.Mapping
{
diff --git a/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs b/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs
index ea0acea6f8..486ec924ee 100644
--- a/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs
+++ b/src/Umbraco.Web/Models/Mapping/UserMapDefinition.cs
@@ -4,7 +4,7 @@ using System.Globalization;
using System.Linq;
using Umbraco.Core;
using Umbraco.Core.Cache;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.IO;
using Umbraco.Core.Mapping;
diff --git a/src/Umbraco.Web/Models/Trees/TreeNode.cs b/src/Umbraco.Web/Models/Trees/TreeNode.cs
index 52691bf081..7661387b3d 100644
--- a/src/Umbraco.Web/Models/Trees/TreeNode.cs
+++ b/src/Umbraco.Web/Models/Trees/TreeNode.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.IO;
+using Umbraco.Web.Composing;
using Umbraco.Web.Models.ContentEditing;
namespace Umbraco.Web.Models.Trees
diff --git a/src/Umbraco.Web/Mvc/UmbracoRequireHttpsAttribute.cs b/src/Umbraco.Web/Mvc/UmbracoRequireHttpsAttribute.cs
index 56c72c9de2..9a0aa6b600 100644
--- a/src/Umbraco.Web/Mvc/UmbracoRequireHttpsAttribute.cs
+++ b/src/Umbraco.Web/Mvc/UmbracoRequireHttpsAttribute.cs
@@ -1,8 +1,6 @@
using System.Web.Mvc;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
-using GlobalSettings = Umbraco.Core.Configuration.GlobalSettings;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.Mvc
{
diff --git a/src/Umbraco.Web/PropertyEditors/ContentPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/ContentPickerPropertyEditor.cs
index 0815d09d08..b8ab0958a8 100644
--- a/src/Umbraco.Web/PropertyEditors/ContentPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ContentPickerPropertyEditor.cs
@@ -1,6 +1,6 @@
using System.Collections.Generic;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Editors;
diff --git a/src/Umbraco.Web/PropertyEditors/DateTimePropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/DateTimePropertyEditor.cs
index d34a630d8b..ccc88d24e2 100644
--- a/src/Umbraco.Web/PropertyEditors/DateTimePropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/DateTimePropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/DateValueEditor.cs b/src/Umbraco.Web/PropertyEditors/DateValueEditor.cs
index 6bf48c6be2..cf1dd310cc 100644
--- a/src/Umbraco.Web/PropertyEditors/DateValueEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/DateValueEditor.cs
@@ -1,10 +1,9 @@
using System;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
-using Umbraco.Core.Strings;
namespace Umbraco.Web.PropertyEditors
{
diff --git a/src/Umbraco.Web/PropertyEditors/DecimalPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/DecimalPropertyEditor.cs
index 8780a5de0d..2d636b3cad 100644
--- a/src/Umbraco.Web/PropertyEditors/DecimalPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/DecimalPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.PropertyEditors.Validators;
diff --git a/src/Umbraco.Web/PropertyEditors/EmailAddressPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/EmailAddressPropertyEditor.cs
index 94ac6f4d36..cf4522db68 100644
--- a/src/Umbraco.Web/PropertyEditors/EmailAddressPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/EmailAddressPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs
index e30a0899c7..d767414fd6 100644
--- a/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs
@@ -2,14 +2,13 @@
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
-using Umbraco.Core.Services.Implement;
using Umbraco.Web.Media;
namespace Umbraco.Web.PropertyEditors
diff --git a/src/Umbraco.Web/PropertyEditors/FileUploadPropertyValueEditor.cs b/src/Umbraco.Web/PropertyEditors/FileUploadPropertyValueEditor.cs
index a07cfe9dcd..54e8eaac5d 100644
--- a/src/Umbraco.Web/PropertyEditors/FileUploadPropertyValueEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/FileUploadPropertyValueEditor.cs
@@ -1,10 +1,7 @@
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using Newtonsoft.Json.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Models.Editors;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
index 8baca0e27d..2ecc174694 100644
--- a/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
@@ -3,7 +3,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
diff --git a/src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs b/src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
index 1e404109ce..d703851b3a 100644
--- a/src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
@@ -2,7 +2,7 @@
using System;
using Newtonsoft.Json;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
diff --git a/src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
index a47dd125e5..17539e8c5b 100644
--- a/src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
@@ -1,6 +1,5 @@
-using System.Collections.Generic;
-using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Core;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/MarkdownPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MarkdownPropertyEditor.cs
index 16a4ad0597..cea594e095 100644
--- a/src/Umbraco.Web/PropertyEditors/MarkdownPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MarkdownPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
index ad287f5f2e..55cfbd172e 100644
--- a/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
@@ -1,14 +1,12 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using Umbraco.Core;
using Umbraco.Core.IO;
-using Umbraco.Core.Composing;
-using Umbraco.Core.IO;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Editors;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
using Umbraco.Core.Strings;
-using Umbraco.Core.Services;
namespace Umbraco.Web.PropertyEditors
{
diff --git a/src/Umbraco.Web/PropertyEditors/MemberGroupPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MemberGroupPickerPropertyEditor.cs
index c2189c57f4..0f08686cec 100644
--- a/src/Umbraco.Web/PropertyEditors/MemberGroupPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MemberGroupPickerPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/MemberPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MemberPickerPropertyEditor.cs
index 4c643a356b..aba5e32183 100644
--- a/src/Umbraco.Web/PropertyEditors/MemberPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MemberPickerPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/MultiNodeTreePickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MultiNodeTreePickerPropertyEditor.cs
index 02b0a31596..8e0011c6a0 100644
--- a/src/Umbraco.Web/PropertyEditors/MultiNodeTreePickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MultiNodeTreePickerPropertyEditor.cs
@@ -1,6 +1,6 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Editors;
diff --git a/src/Umbraco.Web/PropertyEditors/MultiUrlPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MultiUrlPickerPropertyEditor.cs
index 63b3d4fcd3..1070584688 100644
--- a/src/Umbraco.Web/PropertyEditors/MultiUrlPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MultiUrlPickerPropertyEditor.cs
@@ -1,6 +1,6 @@
using System;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Logging;
diff --git a/src/Umbraco.Web/PropertyEditors/MultipleTextStringPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/MultipleTextStringPropertyEditor.cs
index c1937562df..9ccc8e3b39 100644
--- a/src/Umbraco.Web/PropertyEditors/MultipleTextStringPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/MultipleTextStringPropertyEditor.cs
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using Newtonsoft.Json.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Exceptions;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
diff --git a/src/Umbraco.Web/PropertyEditors/NestedContentPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/NestedContentPropertyEditor.cs
index 82fad308e5..540ad12dcd 100644
--- a/src/Umbraco.Web/PropertyEditors/NestedContentPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/NestedContentPropertyEditor.cs
@@ -1,5 +1,4 @@
using System;
-using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
@@ -7,7 +6,7 @@ using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/ContentTypeParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/ContentTypeParameterEditor.cs
index dd02f10245..adf9eff55b 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/ContentTypeParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/ContentTypeParameterEditor.cs
@@ -1,4 +1,4 @@
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentPickerParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentPickerParameterEditor.cs
index 0b85f99662..cb104dacb2 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentPickerParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentPickerParameterEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentTypeParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentTypeParameterEditor.cs
index c6b1c52449..0ebb7a47e7 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentTypeParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentTypeParameterEditor.cs
@@ -1,4 +1,4 @@
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleMediaPickerParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleMediaPickerParameterEditor.cs
index f3d0231b13..7874dae979 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleMediaPickerParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleMediaPickerParameterEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyGroupParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyGroupParameterEditor.cs
index 0329645ede..93f515de6a 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyGroupParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyGroupParameterEditor.cs
@@ -1,4 +1,4 @@
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyTypeParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyTypeParameterEditor.cs
index bce3af2273..a8e716be61 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyTypeParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/MultiplePropertyTypeParameterEditor.cs
@@ -1,4 +1,4 @@
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyGroupParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyGroupParameterEditor.cs
index e047bab1f5..5efff95be1 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyGroupParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyGroupParameterEditor.cs
@@ -1,4 +1,4 @@
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyTypeParameterEditor.cs b/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyTypeParameterEditor.cs
index b91094a756..fc8a5474f7 100644
--- a/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyTypeParameterEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/ParameterEditors/PropertyTypeParameterEditor.cs
@@ -1,4 +1,4 @@
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/RadioButtonsPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/RadioButtonsPropertyEditor.cs
index 384e1c0019..61af4b5248 100644
--- a/src/Umbraco.Web/PropertyEditors/RadioButtonsPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/RadioButtonsPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs
index dcc83f1a3c..29d97d88c8 100644
--- a/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs
@@ -1,8 +1,7 @@
using System;
using System.Collections.Generic;
-using System.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
diff --git a/src/Umbraco.Web/PropertyEditors/SliderPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/SliderPropertyEditor.cs
index a9feae9a2e..3e689b49b6 100644
--- a/src/Umbraco.Web/PropertyEditors/SliderPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/SliderPropertyEditor.cs
@@ -1,5 +1,5 @@
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PropertyEditors/TagsPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/TagsPropertyEditor.cs
index 58d738bb53..74e6eb07af 100644
--- a/src/Umbraco.Web/PropertyEditors/TagsPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/TagsPropertyEditor.cs
@@ -4,10 +4,9 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using Newtonsoft.Json.Linq;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
-using Umbraco.Core.Models;
using Umbraco.Core.Models.Editors;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
diff --git a/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs
index 56f2f35c8c..e66dec8080 100644
--- a/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs
+++ b/src/Umbraco.Web/PropertyEditors/UserPickerPropertyEditor.cs
@@ -1,7 +1,5 @@
-using System.ComponentModel;
-using System.Web.Mvc;
-using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Core;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.PropertyEditors;
diff --git a/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs b/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs
index ee5e9a2ee2..1afb62b8b6 100755
--- a/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs
+++ b/src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs
@@ -29,6 +29,7 @@ using Umbraco.Web.Install;
using Umbraco.Web.PublishedCache.NuCache.DataSource;
using Umbraco.Web.Routing;
using File = System.IO.File;
+using Current = Umbraco.Web.Composing.Current;
namespace Umbraco.Web.PublishedCache.NuCache
{
diff --git a/src/Umbraco.Web/Routing/PublishedRequest.cs b/src/Umbraco.Web/Routing/PublishedRequest.cs
index aee7ba4de8..e883be8f2f 100644
--- a/src/Umbraco.Web/Routing/PublishedRequest.cs
+++ b/src/Umbraco.Web/Routing/PublishedRequest.cs
@@ -4,7 +4,7 @@ using System.Globalization;
using System.Threading;
using System.Web;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web.Macros;
diff --git a/src/Umbraco.Web/Scheduling/HealthCheckNotifier.cs b/src/Umbraco.Web/Scheduling/HealthCheckNotifier.cs
index 746bc61e34..e3133e56d1 100644
--- a/src/Umbraco.Web/Scheduling/HealthCheckNotifier.cs
+++ b/src/Umbraco.Web/Scheduling/HealthCheckNotifier.cs
@@ -2,8 +2,7 @@
using System.Threading;
using System.Threading.Tasks;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
using Umbraco.Core.Logging;
using Umbraco.Core.Sync;
using Umbraco.Web.HealthCheck;
diff --git a/src/Umbraco.Web/Scheduling/SchedulerComponent.cs b/src/Umbraco.Web/Scheduling/SchedulerComponent.cs
index 7ca58f667a..4ad822b871 100644
--- a/src/Umbraco.Web/Scheduling/SchedulerComponent.cs
+++ b/src/Umbraco.Web/Scheduling/SchedulerComponent.cs
@@ -4,15 +4,14 @@ using System.IO;
using System.Threading;
using Umbraco.Core;
using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.HealthChecks;
using Umbraco.Core.Configuration.UmbracoSettings;
-using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Scoping;
using Umbraco.Core.Services;
using Umbraco.Web.HealthCheck;
using Umbraco.Web.Routing;
+using Current = Umbraco.Web.Composing.Current;
namespace Umbraco.Web.Scheduling
{
diff --git a/src/Umbraco.Web/Security/AuthenticationExtensions.cs b/src/Umbraco.Web/Security/AuthenticationExtensions.cs
index 1fa75a214b..e2bbd52a5c 100644
--- a/src/Umbraco.Web/Security/AuthenticationExtensions.cs
+++ b/src/Umbraco.Web/Security/AuthenticationExtensions.cs
@@ -1,10 +1,6 @@
using System;
-using System.Collections.Concurrent;
using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
using System.Security.Claims;
-using System.Security.Principal;
using System.Threading;
using System.Web;
using Microsoft.AspNet.Identity;
@@ -12,8 +8,7 @@ using Microsoft.Owin;
using Microsoft.Owin.Security;
using Newtonsoft.Json;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
using Umbraco.Core.Security;
using Constants = Umbraco.Core.Constants;
diff --git a/src/Umbraco.Web/Security/BackOfficeCookieAuthenticationProvider.cs b/src/Umbraco.Web/Security/BackOfficeCookieAuthenticationProvider.cs
index e56e35ba2a..0691c28d74 100644
--- a/src/Umbraco.Web/Security/BackOfficeCookieAuthenticationProvider.cs
+++ b/src/Umbraco.Web/Security/BackOfficeCookieAuthenticationProvider.cs
@@ -1,15 +1,11 @@
using System;
-using System.Collections.Concurrent;
-using System.Globalization;
-using System.Runtime.CompilerServices;
using System.Security.Claims;
-using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Umbraco.Core;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.IO;
using Umbraco.Core.Security;
diff --git a/src/Umbraco.Web/Security/BackOfficeSignInManager.cs b/src/Umbraco.Web/Security/BackOfficeSignInManager.cs
index 00b07cd7ef..1779f8e257 100644
--- a/src/Umbraco.Web/Security/BackOfficeSignInManager.cs
+++ b/src/Umbraco.Web/Security/BackOfficeSignInManager.cs
@@ -101,7 +101,7 @@ namespace Umbraco.Web.Security
//if the user is null, create an empty one which can be used for auto-linking
if (user == null)
- user = BackOfficeIdentityUser.CreateNew(userName, null, _globalSettings.DefaultUILanguage);
+ user = BackOfficeIdentityUser.CreateNew(_globalSettings, userName, null, _globalSettings.DefaultUILanguage);
//check the password for the user, this will allow a developer to auto-link
//an account if they have specified an IBackOfficeUserPasswordChecker
diff --git a/src/Umbraco.Web/Security/ExternalSignInAutoLinkOptions.cs b/src/Umbraco.Web/Security/ExternalSignInAutoLinkOptions.cs
index 44fbdda6c7..db26127bfb 100644
--- a/src/Umbraco.Web/Security/ExternalSignInAutoLinkOptions.cs
+++ b/src/Umbraco.Web/Security/ExternalSignInAutoLinkOptions.cs
@@ -1,8 +1,7 @@
using System;
using Microsoft.AspNet.Identity.Owin;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models.Identity;
namespace Umbraco.Web.Security
diff --git a/src/Umbraco.Web/Security/MembershipHelper.cs b/src/Umbraco.Web/Security/MembershipHelper.cs
index 1fcd2bad56..fad2f8d4ae 100644
--- a/src/Umbraco.Web/Security/MembershipHelper.cs
+++ b/src/Umbraco.Web/Security/MembershipHelper.cs
@@ -7,11 +7,10 @@ using System.Web.Security;
using Umbraco.Core;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
-using Umbraco.Core.Security;
using Umbraco.Web.Models;
using Umbraco.Web.PublishedCache;
using Umbraco.Core.Cache;
-using Umbraco.Core.Composing;
+using Umbraco.Web.Composing;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Services;
using Umbraco.Web.Editors;
diff --git a/src/Umbraco.Web/WebApi/Filters/FilterAllowedOutgoingMediaAttribute.cs b/src/Umbraco.Web/WebApi/Filters/FilterAllowedOutgoingMediaAttribute.cs
index 21dc60e6cc..18b1a1dab9 100644
--- a/src/Umbraco.Web/WebApi/Filters/FilterAllowedOutgoingMediaAttribute.cs
+++ b/src/Umbraco.Web/WebApi/Filters/FilterAllowedOutgoingMediaAttribute.cs
@@ -5,10 +5,11 @@ using System.Linq;
using System.Net.Http;
using System.Web.Http.Filters;
using Umbraco.Core;
+using Umbraco.Core.Composing;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
-using Umbraco.Core.Composing;
using Umbraco.Core.Security;
+using Current = Umbraco.Web.Composing.Current;
namespace Umbraco.Web.WebApi.Filters
{
diff --git a/src/Umbraco.Web/WebApi/Filters/SetAngularAntiForgeryTokensAttribute.cs b/src/Umbraco.Web/WebApi/Filters/SetAngularAntiForgeryTokensAttribute.cs
index b8cad1f26e..91633ffaf3 100644
--- a/src/Umbraco.Web/WebApi/Filters/SetAngularAntiForgeryTokensAttribute.cs
+++ b/src/Umbraco.Web/WebApi/Filters/SetAngularAntiForgeryTokensAttribute.cs
@@ -2,11 +2,9 @@
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
-using System.Web.Helpers;
using System.Web.Http.Filters;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.WebApi.Filters
{
diff --git a/src/Umbraco.Web/WebApi/Filters/UmbracoWebApiRequireHttpsAttribute.cs b/src/Umbraco.Web/WebApi/Filters/UmbracoWebApiRequireHttpsAttribute.cs
index 1a3c7fc8c4..fbe7d5b1b4 100644
--- a/src/Umbraco.Web/WebApi/Filters/UmbracoWebApiRequireHttpsAttribute.cs
+++ b/src/Umbraco.Web/WebApi/Filters/UmbracoWebApiRequireHttpsAttribute.cs
@@ -5,8 +5,7 @@ using System.Text;
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
using Umbraco.Core;
-using Umbraco.Core.Composing;
-using Umbraco.Core.Configuration;
+using Umbraco.Web.Composing;
namespace Umbraco.Web.WebApi.Filters
{