Separate NuGet packages for ASP.NET dependencies

Fixed in

EPiServer.CMS.Core 11.1.0


Aug 14, 2017


Oct 01, 2020


CMS Core


Closed, Done


Adds new packages EPiServer.CMS.AspNet and EPiServer.Framework.AspNet that will be required for ASP.NET development.

Breaking changes

  • Implementations based on ASP.NET have moved to separate packages EPiServer.Framework.AspNet and EPiServer.Cms.AspNet
  • Usage of StructureMap as IOC container is moved to separate package EPiServer.ServiceLocation.StructureMap
  • Requires .NET Framework 4.61
  • CreatePropertyControl has been removed from PropertyData. Use IPropertyControlFactory instead to register and create controls for PropertyData types.
  • Providers (for example ContentProvider, BlobProvider) does no longer inherit ProviderBase. If a provider that support configuration through web.config has an initialization method with signature void Initialize(string name, NameValueCollection config) then it will be called during initialization phase
  • IServiceLocator no longer supports named instances. The specific implemenation in EPiServer.ServiceLocation.StructureMap supports named instances.
  • Some methods in IServiceLocator have been removed from interface and are now extension methods in EPiServer.ServiceLocation namespace.
  • EPiServer.Search.SearchSettings.Config has been replaced by EPiServer.Search.SearchSetting.Options
  • No longer support to get ILogger instance from IOC container
  • Calls to logger that occurs before IConfigurableModules are created are not guaranteed to be persisted.
  • Method IStringFragment.GetControl has been removed. Use IStringFragmentControlResolver instead to create controls for string fragments.
  • Configuration sections EPiServerFrameworkSection, StaticFileSection, EPiServerDataStoreSection and SearchSection have been moved to assembly EPiServer.Framework.AspNet
  • Property Database on DataAccessBase has been removed and is replaced by property Executor
  • PageData.LinkUrl no longer contain query parameter epslanguage.
  • ContentProviders can no longer use CacheSettings.Filenames (previously obsoleted) to setup dependencies to files.
  • EPiServer.Web.InitializationModule have been moved to EPiServer.Cms.AspNet assembly and can be used as dependency module for other modules that want to run after EPiServer CMS is initialized when running as a ASP.NET application. There is a new module EPiServer.Initialization.CmsCoreInitialization in assembly EPiServer that can be used as dependency module for modules that want to run after CMS Runtime is initialized when running CMS outside ASP.NET context.
  • Previously obsoleted methods Rebase/MakeRelative on type EPiServer.Web.UrlBuilder in Assembly EPiServer have been moved to extensions method defined in assembly EPiServer.Cms.AspNet. Type UrlBuilder.RebaseKind is also moved to EPiServer.Web.RebaseKind in EPiServer.Cms.AspNet assembly.
  • AccessControlList.Save have been deprecated and is no longer supported, use IContentSecurityRepository