У меня есть несколько проектов, и я решил сохранить ту же версию .NET, чтобы избежать ада инфраструктуры и иметь возможность использовать общий код (настройка журнала и т. Д.) Похоже. Startup.cs и program.cs .
для тестирования я добавил Serilog в мое приложение ASP.Net Core, как будто это уже сделано в другом веб -приложении Blazor (на .NET 8) Ошибка.
Ниже приведен код обновленной программы.cs :
var builder = WebApplication.CreateBuilder(args);
var databaseConfig = builder.Configuration.GetSection("Database").Get();
builder.Services.AddControllers(options =>
{
options.Filters.Add(new SessionIdFilter());
}).AddJsonOptions(opts => opts.JsonSerializerOptions.PropertyNamingPolicy = null);
// In production, the Angular files will be served from this directory
builder.Services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist"; });
builder.Services.AddSingleton(databaseConfig);
builder.Services.AddDbContext(options =>
{
options.UseSqlServer(databaseConfig.ConnectionString);
});
builder.Services.AddSession(options => {
options.Cookie.Name = "SID";
options.IdleTimeout = TimeSpan.FromDays(30);
});
builder.Services.Configure(options =>
{
options.CheckConsentNeeded = _ => false;
});
builder.Services.AddMvc(setup => {
}).AddFluentValidation();
builder.Services.AddTransient();
builder.Services.AddScoped();
builder.Services.AddScoped();
builder.Services.AddScoped();
var logger = new LoggerConfiguration()
.ReadFrom.Configuration(builder.Configuration)
.Enrich.FromLogContext()
.CreateLogger();
builder.Logging.ClearProviders();
builder.Logging.AddSerilog(logger);
builder.Host.UseSerilog(logger);
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseSession();
app.UseHttpsRedirection();
app.UseStaticFiles();
if (!app.Environment.IsDevelopment())
{
app.UseSpaStaticFiles();
}
app.UseRouting();
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (app.Environment.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
app.MapControllers();
app.Run();
< /code>
Код не был удален из -за слияния, за исключением этого: < /p>
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); });
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-net-8-ca