めちゃくちゃ単純な話ですが、探すと意外と見つからない。
こいつが設定できないとずっとただの「500 Error」となり、場合によってはデバッグ不能となる。
答えはコレ
Program.cs
public static void Main(string[] args)
{
Environment.SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development"); //追記
CreateHostBuilder(args).Build().Run();
}
Startup.cs
あとはStartup.cs
のほうでこうなってればOK
※mvcでProjectを立てたら最初からこうなってました。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment()) //ここがtrueになるので
{
app.UseDeveloperExceptionPage(); //これが効く
app.UseDatabaseErrorPage(); //これも効く
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
}
おわり
Startup.cs
の話はあちこちに書いてあるんですけどね。
Program.cs
のほうがなかなかレアでした。