using System.Reflection; using ASPTemplate.Backend.Database; using Microsoft.EntityFrameworkCore; using Swashbuckle.AspNetCore.Filters; new DatabaseContext().Database.Migrate(); var builder = WebApplication.CreateBuilder(args); if (Environment.GetCommandLineArgs().Contains("--razor-runtime-comp")) { builder.Services.AddRazorPages().AddRazorRuntimeCompilation(); builder.Services.AddControllers().AddRazorRuntimeCompilation(); } else { builder.Services.AddRazorPages(); builder.Services.AddControllers(); } builder.Services.AddSwaggerGen(options => { var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename)); options.ExampleFilters(); }); builder.Services.AddSwaggerExamplesFromAssemblies(Assembly.GetEntryAssembly()); var app = builder.Build(); if (!app.Environment.IsDevelopment()) app.UseExceptionHandler("/Error"); app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();