ASP.NET Core 6如何在构建器之前访问IWebHostEnvironment,在Program中使用Build(),CS

zkure5ic  于 2023-05-02  发布在  .NET
关注(0)|答案(3)|浏览(308)

我想在Program.cs中的builder.Build()之前使用Environment.IsDevelopment()。我该怎么做?

var builder = WebApplication.CreateBuilder(args);
 //Code: reach environment
 var app = builder.Build();
o2gm4chl

o2gm4chl1#

您可以使用以下命令访问当前运行的环境:

builder.Environment.IsDevelopment()

在此时构建应用程序之前:

var app = builder.Build();

运行此代码后,您将用途:

app.Environment.IsDevelopment()
pqwbnv8z

pqwbnv8z2#

如果你正在像我一样在Web应用程序中寻找ContentRootPath,你可以这样做:

builder.Services.AddControllers().AddControllersAsServices();

var path = ((IWebHostEnvironment)builder.Environment).ContentRootPath;
evrscar2

evrscar23#

这可能不是你要找的,但我用过:

app.UseDeveloperExceptionPage();

之后

var app = builder.Build();

及之前

app.Run();

这允许在生产环境中出现更详细的异常页面(有一些问题是在生产环境中抛出错误,而在开发环境中没有抛出错误)。

相关问题