using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.DependencyInjection;
namespace Umbraco.Extensions;
///
/// Extension methods for .
///
public static class WebApplicationBuilderExtensions
{
///
/// Creates an and registers basic Umbraco services.
///
/// The builder.
///
/// The Umbraco builder.
///
public static IUmbracoBuilder CreateUmbracoBuilder(this WebApplicationBuilder builder)
{
// Configure Umbraco defaults, but ignore decorated host builder and
// don't add runtime as hosted service (this is replaced by the explicit BootUmbracoAsync)
builder.Host.ConfigureUmbracoDefaults(false);
// Do not enable static web assets on production environments,
// because the files are already copied to the publish output folder.
if (builder.Configuration.GetRuntimeMode() != RuntimeMode.Production)
{
builder.WebHost.UseStaticWebAssets();
}
return builder.Services.AddUmbraco(builder.Environment, builder.Configuration);
}
}