到目前为止,非常简单的ASP .NET核心应用程序。我打开了开发者异常页面,如下所示
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseDeveloperExceptionPage();
app.UseMvc();
}
我已经将它作为便携式应用程序部署在Windows上,并且当特定的Web API请求因异常而失败时,我能够在开发者页面上看到错误(顺便说一句很棒的页面)。 / p>
我将同一个应用程序发布到Ubuntu作为一个独立的应用程序,我不会显示开发人员错误页面(虽然似乎运行良好 - 我已经硬编码错误只是为了测试开发者页面本身。)
答案 0 :(得分:2)
开发人员异常页面适用于环境为开发时。
请参阅https://www.exceptionnotfound.net/working-with-environments-and-launch-settings-in-asp-net-core/
将应用程序发布到Ubuntu的行为是将环境设置为生产。
答案 1 :(得分:1)
默认情况下,macOS和Linux ASP.NET Core的托管环境是Production。
在Ubuntu上,您可以使用
启动应用程序并从命令行设置主机环境 > dotnet run --environment=Development
对于macOS:
$ ASPNETCORE_ENVIRONMENT=Development dotnet run
如果您使用的是Visual Studio Code,则在launch.json中,每个配置都有以下设置:
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
答案 2 :(得分:0)
Startup.cs主要是程序性的。在您的 Startup.cs
app.UseDeveloperExceptionPage();
应该先于
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapRazorPages();
});
如果您在之后添加它,它将不起作用。