diff --git a/src/Umbraco.Core/Composing/ComponentComposer.cs b/src/Umbraco.Core/Composing/ComponentComposer.cs
index 54b895ce49..c1d921df03 100644
--- a/src/Umbraco.Core/Composing/ComponentComposer.cs
+++ b/src/Umbraco.Core/Composing/ComponentComposer.cs
@@ -1,4 +1,4 @@
-using Umbraco.Cms.Core.DependencyInjection;
+using Umbraco.Cms.Core.DependencyInjection;
namespace Umbraco.Cms.Core.Composing
{
@@ -12,7 +12,7 @@ namespace Umbraco.Cms.Core.Composing
///
public virtual void Compose(IUmbracoBuilder builder)
{
- builder.Components()?.Append();
+ builder.Components().Append();
}
// note: thanks to this class, a component that does not compose anything can be
diff --git a/src/Umbraco.Core/DependencyInjection/IUmbracoBuilder.cs b/src/Umbraco.Core/DependencyInjection/IUmbracoBuilder.cs
index 521f55dbef..59f06801ff 100644
--- a/src/Umbraco.Core/DependencyInjection/IUmbracoBuilder.cs
+++ b/src/Umbraco.Core/DependencyInjection/IUmbracoBuilder.cs
@@ -33,7 +33,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
IProfiler Profiler { get; }
AppCaches AppCaches { get; }
- TBuilder? WithCollectionBuilder() where TBuilder : ICollectionBuilder;
+ TBuilder WithCollectionBuilder() where TBuilder : ICollectionBuilder;
void Build();
}
}
diff --git a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.CollectionBuilders.cs b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.CollectionBuilders.cs
index cb40974375..cba4a95c8e 100644
--- a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.CollectionBuilders.cs
+++ b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.CollectionBuilders.cs
@@ -1,4 +1,3 @@
-using System;
using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.Dashboards;
using Umbraco.Cms.Core.Media;
@@ -21,7 +20,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddComponent(this IUmbracoBuilder builder)
where T : class, IComponent
{
- builder.Components()?.Append();
+ builder.Components().Append();
return builder;
}
@@ -33,7 +32,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddContentApp(this IUmbracoBuilder builder)
where T : class, IContentAppFactory
{
- builder.ContentApps()?.Append();
+ builder.ContentApps().Append();
return builder;
}
@@ -45,7 +44,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddContentFinder(this IUmbracoBuilder builder)
where T : class, IContentFinder
{
- builder.ContentFinders()?.Append();
+ builder.ContentFinders().Append();
return builder;
}
@@ -57,7 +56,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddDashboard(this IUmbracoBuilder builder)
where T : class, IDashboard
{
- builder.Dashboards()?.Add();
+ builder.Dashboards().Add();
return builder;
}
@@ -69,7 +68,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddMediaUrlProvider(this IUmbracoBuilder builder)
where T : class, IMediaUrlProvider
{
- builder.MediaUrlProviders()?.Append();
+ builder.MediaUrlProviders().Append();
return builder;
}
@@ -81,7 +80,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddEmbedProvider(this IUmbracoBuilder builder)
where T : class, IEmbedProvider
{
- builder.EmbedProviders()?.Append();
+ builder.EmbedProviders().Append();
return builder;
}
@@ -97,7 +96,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddSection(this IUmbracoBuilder builder)
where T : class, ISection
{
- builder.Sections()?.Append();
+ builder.Sections().Append();
return builder;
}
@@ -109,7 +108,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
public static IUmbracoBuilder AddUrlProvider(this IUmbracoBuilder builder)
where T : class, IUrlProvider
{
- builder.UrlProviders()?.Append();
+ builder.UrlProviders().Append();
return builder;
}
}
diff --git a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs
index b1913037a3..a7d7aaaded 100644
--- a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs
+++ b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Collections.cs
@@ -1,4 +1,3 @@
-using System;
using Umbraco.Cms.Core.Actions;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Composing;
@@ -10,7 +9,6 @@ using Umbraco.Cms.Core.HealthChecks.NotificationMethods;
using Umbraco.Cms.Core.Manifest;
using Umbraco.Cms.Core.Mapping;
using Umbraco.Cms.Core.Media.EmbedProviders;
-using Umbraco.Cms.Core.Packaging;
using Umbraco.Cms.Core.PropertyEditors;
using Umbraco.Cms.Core.PropertyEditors.Validators;
using Umbraco.Cms.Core.Routing;
@@ -33,12 +31,12 @@ namespace Umbraco.Cms.Core.DependencyInjection
///
internal static void AddAllCoreCollectionBuilders(this IUmbracoBuilder builder)
{
- builder.CacheRefreshers()?.Add(() => builder.TypeLoader.GetCacheRefreshers());
- builder.DataEditors()?.Add(() => builder.TypeLoader.GetDataEditors());
- builder.Actions()?.Add(() => builder .TypeLoader.GetActions());
+ builder.CacheRefreshers().Add(() => builder.TypeLoader.GetCacheRefreshers());
+ builder.DataEditors().Add(() => builder.TypeLoader.GetDataEditors());
+ builder.Actions().Add(() => builder .TypeLoader.GetActions());
// register known content apps
- builder.ContentApps()?
+ builder.ContentApps()
.Append()
.Append()
.Append()
@@ -51,24 +49,24 @@ namespace Umbraco.Cms.Core.DependencyInjection
// all built-in finders in the correct order,
// devs can then modify this list on application startup
- builder.ContentFinders()?
+ builder.ContentFinders()
.Append()
.Append()
.Append()
/*.Append() // disabled, this is an odd finder */
.Append()
.Append();
- builder.EditorValidators()?.Add(() => builder.TypeLoader.GetTypes());
- builder.HealthChecks()?.Add(() => builder.TypeLoader.GetTypes());
- builder.HealthCheckNotificationMethods()?.Add(() => builder.TypeLoader.GetTypes());
+ builder.EditorValidators().Add(() => builder.TypeLoader.GetTypes());
+ builder.HealthChecks().Add(() => builder.TypeLoader.GetTypes());
+ builder.HealthCheckNotificationMethods().Add(() => builder.TypeLoader.GetTypes());
builder.TourFilters();
- builder.UrlProviders()?
+ builder.UrlProviders()
.Append()
.Append();
- builder.MediaUrlProviders()?
+ builder.MediaUrlProviders()
.Append();
// register back office sections in the order we want them rendered
- builder.Sections()?
+ builder.Sections()
.Append()
.Append()
.Append()
@@ -79,7 +77,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
.Append();
builder.Components();
// register core CMS dashboards and 3rd party types - will be ordered by weight attribute & merged with package.manifest dashboards
- builder.Dashboards()?
+ builder.Dashboards()
.Add()
.Add()
.Add()
@@ -93,9 +91,9 @@ namespace Umbraco.Cms.Core.DependencyInjection
.Add()
.Add(builder.TypeLoader.GetTypes());
builder.DataValueReferenceFactories();
- builder.PropertyValueConverters()?.Append(builder.TypeLoader.GetTypes());
- builder.UrlSegmentProviders()?.Append();
- builder.ManifestValueValidators()?
+ builder.PropertyValueConverters().Append(builder.TypeLoader.GetTypes());
+ builder.UrlSegmentProviders().Append();
+ builder.ManifestValueValidators()
.Add()
.Add()
.Add()
@@ -105,7 +103,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
builder.ManifestFilters();
builder.MediaUrlGenerators();
// register OEmbed providers - no type scanning - all explicit opt-in of adding types, IEmbedProvider is not IDiscoverable
- builder.EmbedProviders()?
+ builder.EmbedProviders()
.Append()
.Append()
.Append()
@@ -120,7 +118,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
.Append()
.Append()
.Append();
- builder.SearchableTrees()?.Add(() => builder.TypeLoader.GetTypes());
+ builder.SearchableTrees().Add(() => builder.TypeLoader.GetTypes());
builder.BackOfficeAssets();
}
@@ -128,141 +126,141 @@ namespace Umbraco.Cms.Core.DependencyInjection
/// Gets the actions collection builder.
///
/// The builder.
- public static ActionCollectionBuilder? Actions(this IUmbracoBuilder builder)
+ public static ActionCollectionBuilder Actions(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the content apps collection builder.
///
/// The builder.
- public static ContentAppFactoryCollectionBuilder? ContentApps(this IUmbracoBuilder builder)
+ public static ContentAppFactoryCollectionBuilder ContentApps(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the content finders collection builder.
///
/// The builder.
- public static ContentFinderCollectionBuilder? ContentFinders(this IUmbracoBuilder builder)
+ public static ContentFinderCollectionBuilder ContentFinders(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the editor validators collection builder.
///
/// The builder.
- public static EditorValidatorCollectionBuilder? EditorValidators(this IUmbracoBuilder builder)
+ public static EditorValidatorCollectionBuilder EditorValidators(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the health checks collection builder.
///
/// The builder.
- public static HealthCheckCollectionBuilder? HealthChecks(this IUmbracoBuilder builder)
+ public static HealthCheckCollectionBuilder HealthChecks(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
- public static HealthCheckNotificationMethodCollectionBuilder? HealthCheckNotificationMethods(this IUmbracoBuilder builder)
+ public static HealthCheckNotificationMethodCollectionBuilder HealthCheckNotificationMethods(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the TourFilters collection builder.
///
- public static TourFilterCollectionBuilder? TourFilters(this IUmbracoBuilder builder)
+ public static TourFilterCollectionBuilder TourFilters(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the URL providers collection builder.
///
/// The builder.
- public static UrlProviderCollectionBuilder? UrlProviders(this IUmbracoBuilder builder)
+ public static UrlProviderCollectionBuilder UrlProviders(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the media url providers collection builder.
///
/// The builder.
- public static MediaUrlProviderCollectionBuilder? MediaUrlProviders(this IUmbracoBuilder builder)
+ public static MediaUrlProviderCollectionBuilder MediaUrlProviders(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the backoffice sections/applications collection builder.
///
/// The builder.
- public static SectionCollectionBuilder? Sections(this IUmbracoBuilder builder)
+ public static SectionCollectionBuilder Sections(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the components collection builder.
///
- public static ComponentCollectionBuilder? Components(this IUmbracoBuilder builder)
+ public static ComponentCollectionBuilder Components(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the backoffice dashboards collection builder.
///
/// The builder.
- public static DashboardCollectionBuilder? Dashboards(this IUmbracoBuilder builder)
+ public static DashboardCollectionBuilder Dashboards(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the cache refreshers collection builder.
///
/// The builder.
- public static CacheRefresherCollectionBuilder? CacheRefreshers(this IUmbracoBuilder builder)
+ public static CacheRefresherCollectionBuilder CacheRefreshers(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the map definitions collection builder.
///
/// The builder.
- public static MapDefinitionCollectionBuilder? MapDefinitions(this IUmbracoBuilder builder)
+ public static MapDefinitionCollectionBuilder MapDefinitions(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the data editor collection builder.
///
/// The builder.
- public static DataEditorCollectionBuilder? DataEditors(this IUmbracoBuilder builder)
+ public static DataEditorCollectionBuilder DataEditors(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the data value reference factory collection builder.
///
/// The builder.
- public static DataValueReferenceFactoryCollectionBuilder? DataValueReferenceFactories(this IUmbracoBuilder builder)
+ public static DataValueReferenceFactoryCollectionBuilder DataValueReferenceFactories(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the property value converters collection builder.
///
/// The builder.
- public static PropertyValueConverterCollectionBuilder? PropertyValueConverters(this IUmbracoBuilder builder)
+ public static PropertyValueConverterCollectionBuilder PropertyValueConverters(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the url segment providers collection builder.
///
/// The builder.
- public static UrlSegmentProviderCollectionBuilder? UrlSegmentProviders(this IUmbracoBuilder builder)
+ public static UrlSegmentProviderCollectionBuilder UrlSegmentProviders(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the validators collection builder.
///
/// The builder.
- internal static ManifestValueValidatorCollectionBuilder? ManifestValueValidators(this IUmbracoBuilder builder)
+ internal static ManifestValueValidatorCollectionBuilder ManifestValueValidators(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the manifest filter collection builder.
///
/// The builder.
- public static ManifestFilterCollectionBuilder? ManifestFilters(this IUmbracoBuilder builder)
+ public static ManifestFilterCollectionBuilder ManifestFilters(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the content finders collection builder.
///
/// The builder.
- public static MediaUrlGeneratorCollectionBuilder? MediaUrlGenerators(this IUmbracoBuilder builder)
+ public static MediaUrlGeneratorCollectionBuilder MediaUrlGenerators(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
@@ -270,26 +268,26 @@ namespace Umbraco.Cms.Core.DependencyInjection
///
/// The builder.
[Obsolete("Use EmbedProviders() instead")]
- public static EmbedProvidersCollectionBuilder? OEmbedProviders(this IUmbracoBuilder builder)
+ public static EmbedProvidersCollectionBuilder OEmbedProviders(this IUmbracoBuilder builder)
=> EmbedProviders(builder);
///
/// Gets the backoffice Embed Providers collection builder.
///
/// The builder.
- public static EmbedProvidersCollectionBuilder? EmbedProviders(this IUmbracoBuilder builder)
+ public static EmbedProvidersCollectionBuilder EmbedProviders(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the back office searchable tree collection builder
///
- public static SearchableTreeCollectionBuilder? SearchableTrees(this IUmbracoBuilder builder)
+ public static SearchableTreeCollectionBuilder SearchableTrees(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
///
/// Gets the back office custom assets collection builder
///
- public static CustomBackOfficeAssetsCollectionBuilder? BackOfficeAssets(this IUmbracoBuilder builder)
+ public static CustomBackOfficeAssetsCollectionBuilder BackOfficeAssets(this IUmbracoBuilder builder)
=> builder.WithCollectionBuilder();
}
}
diff --git a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs
index 4a05cb0268..75b4bb4aec 100644
--- a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs
+++ b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs
@@ -1,8 +1,6 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
-using System;
-using System.Collections.Generic;
using System.Runtime.InteropServices;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@@ -25,7 +23,6 @@ using Umbraco.Cms.Core.Install;
using Umbraco.Cms.Core.IO;
using Umbraco.Cms.Core.Logging;
using Umbraco.Cms.Core.Mail;
-using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.Notifications;
using Umbraco.Cms.Core.Packaging;
@@ -48,7 +45,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
{
public class UmbracoBuilder : IUmbracoBuilder
{
- private readonly Dictionary _builders = new Dictionary();
+ private readonly Dictionary _builders = new Dictionary();
public IServiceCollection Services { get; }
@@ -101,18 +98,17 @@ namespace Umbraco.Cms.Core.DependencyInjection
///
/// The type of the collection builder.
/// The collection builder.
- public TBuilder? WithCollectionBuilder()
+ public TBuilder WithCollectionBuilder()
where TBuilder : ICollectionBuilder
{
Type typeOfBuilder = typeof(TBuilder);
if (_builders.TryGetValue(typeOfBuilder, out ICollectionBuilder? o))
{
- return (TBuilder?)o;
+ return (TBuilder)o;
}
- TBuilder? builder;
-
+ TBuilder builder;
if (typeof(TBuilder).GetConstructor(Type.EmptyTypes) != null)
{
builder = Activator.CreateInstance();
@@ -120,7 +116,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
else if (typeof(TBuilder).GetConstructor(new[] { typeof(IUmbracoBuilder) }) != null)
{
// Handle those collection builders which need a reference to umbraco builder i.e. DistributedLockingCollectionBuilder.
- builder = (TBuilder?)Activator.CreateInstance(typeof(TBuilder), this);
+ builder = (TBuilder)Activator.CreateInstance(typeof(TBuilder), this)!;
}
else
{
@@ -133,9 +129,9 @@ namespace Umbraco.Cms.Core.DependencyInjection
public void Build()
{
- foreach (ICollectionBuilder? builder in _builders.Values)
+ foreach (ICollectionBuilder builder in _builders.Values)
{
- builder?.RegisterWith(Services);
+ builder.RegisterWith(Services);
}
_builders.Clear();
diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs
index 05eda0e94d..4b30a10159 100644
--- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs
+++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs
@@ -117,7 +117,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
// register the manifest filter collection builder (collection is empty by default)
builder.ManifestFilters();
- builder.MediaUrlGenerators()?
+ builder.MediaUrlGenerators()
.Add()
.Add();
@@ -147,7 +147,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
// both TinyMceValueConverter (in Core) and RteMacroRenderingValueConverter (in Web) will be
// discovered when CoreBootManager configures the converters. We will remove the basic one defined
// in core so that the more enhanced version is active.
- builder.PropertyValueConverters()?
+ builder.PropertyValueConverters()
.Remove();
// register *all* checks, except those marked [HideFromTypeFinder] of course
@@ -260,7 +260,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
private static IUmbracoBuilder AddPreValueMigrators(this IUmbracoBuilder builder)
{
- builder.WithCollectionBuilder()?
+ builder.WithCollectionBuilder()
.Append()
.Append()
.Append()
diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.MappingProfiles.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.MappingProfiles.cs
index e1d58a32eb..42ce7f7932 100644
--- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.MappingProfiles.cs
+++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.MappingProfiles.cs
@@ -16,7 +16,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
{
builder.Services.AddUnique();
- builder.WithCollectionBuilder()?
+ builder.WithCollectionBuilder()
.Add()
.Add()
.Add()
diff --git a/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs b/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs
index 69f4eb1a1a..efc066ea32 100644
--- a/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs
+++ b/src/Umbraco.Web.BackOffice/Extensions/WebMappingProfiles.cs
@@ -9,7 +9,7 @@ namespace Umbraco.Extensions
{
public static IUmbracoBuilder AddWebMappingProfiles(this IUmbracoBuilder builder)
{
- builder.WithCollectionBuilder()?
+ builder.WithCollectionBuilder()
.Add()
.Add()
.Add();
diff --git a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
index 5a889d423d..666342dc10 100644
--- a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
+++ b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
@@ -338,7 +338,7 @@ public static partial class UmbracoBuilderExtensions
builder.Services.AddUnique();
var umbracoApiControllerTypes = builder.TypeLoader.GetUmbracoApiControllers().ToList();
- builder.WithCollectionBuilder()?
+ builder.WithCollectionBuilder()
.Add(umbracoApiControllerTypes);
builder.Services.AddSingleton();
diff --git a/src/Umbraco.Web.Website/DependencyInjection/UmbracoBuilderExtensions.cs b/src/Umbraco.Web.Website/DependencyInjection/UmbracoBuilderExtensions.cs
index 89d6962b64..5260006768 100644
--- a/src/Umbraco.Web.Website/DependencyInjection/UmbracoBuilderExtensions.cs
+++ b/src/Umbraco.Web.Website/DependencyInjection/UmbracoBuilderExtensions.cs
@@ -25,7 +25,7 @@ public static partial class UmbracoBuilderExtensions
///
public static IUmbracoBuilder AddWebsite(this IUmbracoBuilder builder)
{
- builder.WithCollectionBuilder()?
+ builder.WithCollectionBuilder()
.Add(builder.TypeLoader.GetSurfaceControllers());
// Configure MVC startup options for custom view locations