从旧版Program
/迁移 ASP.NET Core 6 应用程序Startup
以使用新的最小托管模型后,我收到一组无法描述的错误。
错误信息
我已明确启用UseDeveloperExceptionPage()
安全,但我在浏览器中收到的只是通用的:
HTTP 错误 500.30 - ASP.NET Core 应用程序无法启动
在事件查看器中,事件 1011 被记录:
物理根目录为“C:\Code”的应用程序“/LM/W3SVC/2/ROOT”已从 Program.Main 退出,退出代码为“0”。请检查 stderr 日志以获取更多信息。
随后是事件 1007:
具有物理根目录“C:\Code”的应用程序“/LM/W3SVC/2/ROOT”无法加载 coreclr。
异常消息:CLR 工作线程过早退出
运行 IIS Express 或 Kestrel 时,调试控制台中没有更多信息可用。但是,我能够从我Program
的记录中看到其他启动过程,因此知道它们正在正确加载。
代码
这是我的Program
文件的简化版本,删除了自定义组件:
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.ViewComponents;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Should be implicit in Debug mode, but explicitly including to be safe
app.UseDeveloperExceptionPage();
app.UseStaticFiles();
app.UseRouting();
app.MapControllers();
以前的主题
由于这些确实是一般性错误,因此之前有很多与此问题相关的可用线程——但似乎没有一个适用于这种情况。(很多都与我没有使用的ASP.NET Core Hosting Bundle有关。)
问题
这个问题有常见的原因吗?或者,是否有其他方法可以调试此场景?