New with Sitecore 9 is the ability to specify the ability in which config files load.  Loading in Alphabetical order is soooo 2016.  There’s some work arounds for it, but nothing official.  All that has changed with Sitecore 9!

If you navigate to the App_Config folder, you’ll see a Layers.config file.  It looks something like this:

<?xml version="1.0" encoding="utf-8"?>
<layers>
  <layer name="Sitecore" includeFolder="/App_Config/Sitecore/">
    <loadOrder>
      <add path="CMS.Core" type="Folder" />
      <add path="AntiCSRFModule" type="Folder" />
      <add path="Owin" type="Folder" />
      <add path="Owin.Authentication" type="Folder" />
      <add path="ContentSearch" type="Folder" />
      <add path="ContentSearch.Azure" type="Folder" />
      <add path="Marketing.Xdb.Sql.Common" type="Folder" />
      <add path="XConnect.Client.Configuration" type="Folder" />
      <add path="Marketing.Xdb.ReferenceData.Service" type="Folder" />
      <add path="Marketing.Xdb.ReferenceData.SqlServer" type="Folder" />
      <add path="Marketing.Xdb.ReferenceData.Client" type="Folder" />
      <add path="Marketing.Operations.xMgmt" type="Folder" />
      <add path="Marketing.Operations.Xdb.ReferenceData" type="Folder" />
      <add path="Marketing.xDB" type="Folder" />
      <add path="Marketing.Tracking" type="Folder" />
      <add path="Marketing.Assets" type="Folder" />
      <add path="Tracking.Web.RobotDetection" type="Folder" />
      <add path="Mvc" type="Folder" />
      <add path="Tracking.Web.MVC" type="Folder" />
      <add path="ItemWebApi" type="Folder" />
      <add path="Buckets" type="Folder" />
      <add path="SPEAK" type="Folder" />
      <add path="Services.Client" type="Folder" />
      <add path="SPEAK.Components" type="Folder" />
      <add path="Marketing.Client" type="Folder" />
      <add path="Marketing.Xdb.MarketingAutomation.Reporting" type="Folder" />
      <add path="Marketing.Xdb.MarketingAutomation.Operations" type="Folder" />
      <add path="Marketing.Xdb.MarketingAutomation.Locators" type="Folder" />
      <add path="Marketing.Xdb.MarketingAutomation.Tracking" type="Folder" />
      <add path="XConnect.Segmentation.xMgmt" type="Folder" />
      <add path="Speak.Applications" type="Folder" />
      <add path="LaunchPad" type="Folder" />
      <add path="ListManagement" type="Folder" />
      <add path="Marketing.Automation.Client" type="Folder" />
      <add path="Marketing.Automation.ActivityDescriptors.Client" type="Folder" />
      <add path="ExperienceForms" type="Folder" />
      <add path="Experience Editor" type="Folder" />
      <add path="MVC.ExperienceEditor" type="Folder" />
      <add path="MVC.DeviceSimulator" type="Folder" />
      <add path="ContentTesting" type="Folder" />
      <add path="ExperienceProfile" type="Folder" />
      <add path="Update" type="Folder" />
      <add path="Contact.Enrichment.Services.Client" type="Folder" />
      <add path="DetectionServices.Location" type="Folder" />
      <add path="FederatedExperienceManager" type="Folder" />
      <add path="DeviceDetection.Client" type="Folder" />
      <add path="ExperienceAnalytics" type="Folder" />
      <add path="CampaignCreator" type="Folder" />
      <add path="ExperienceContentManagement.Administration" type="Folder" />
    </loadOrder>
  </layer>
  <layer name="Modules" includeFolder="/App_Config/Modules/" />
  <layer name="Custom" includeFolder="/App_Config/Include/" />
  <layer name="Environment" includeFolder="/App_Config/Environment/" mode="off" />
</layers>

Notice the new “App_Config/Sitecore” folder.  This is where typical contents of your “App_Config/Include” folder went.  All your current items in that pesky ZZZ folder can now be gracefully executed last just by modifying the Layers.config, adding a layer to the end and hitting “Go”

Additionally, you can turn off an entire layer by adding mode=”off” like I have done in the Environment layer above.
[ls_content_block slug=”nineonninefooter”]