ASP0008: Do not use ConfigureWebHost with WebApplicationBuilder.Host
Value | |
---|---|
Rule ID | ASP0008 |
Category | Usage |
Fix is breaking or non-breaking | Non-breaking |
Cause
ConfigureWebHost
can't be used with the Host
property on WebApplicationBuilder
.
Rule description
The WebApplicationBuilder
doesn't support configuring the WebHost
before build using the ConfigureWebHost
extension method.
var builder = WebApplication.CreateBuilder(args);
builder.Host.ConfigureWebHost(webHostBuilder => {
webHostBuilder.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});
var app = builder.Build();
app.Run();
How to fix violations
To fix a violation of this rule, configure the WebHost
directly on the WebApplicationBuilder
. For example, instead of setting the content root path via ConfigureWebHost
.
var builder = WebApplication.CreateBuilder(args);
builder.Host.ConfigureWebHost(webHostBuilder =>
{
webHostBuilder.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});
var app = builder.Build();
app.Run();
Configure the content root path directly on the WebApplicationBuilder.WebHost
.
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "foobar"));
var app = builder.Build();
app.Run();
When to suppress warnings
Do not suppress a warning from this rule. A misconfigured application can result in unexpected behavior at runtime.
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
ASP.NET Core