ASP.NET Core发布错误:在启动应用程序时发生错误。
ASP.NET Core发布错误:启动应用程序时发生错误
当您尝试发布ASP.NET Core应用程序时,可能会遇到“An error occurred while starting the application”的错误。以下是可能出现此错误的原因以及解决方法:
1. 尝试在web.config中启用日志记录:
2. 如果没有日志,请检查事件查看器,可能会显示以下内容:
Could not create stdoutLogFile C:\inetpub... ErrorCode = -2147024891.
3. 尝试在另一个驱动器上设置网站,例如D:\inetpub\website。在我的情况下,从另一个驱动器上运行正常,但在C:\inetpub\website上无法正常工作。我认为这是一种安全权限问题。
4. 如果上述方法没有帮助,您至少应该能看到引导您进一步的日志。
尽管我是计算机的管理员,并且其他在.NET Framework 4.7.1下的网站在C:\inetpub\上正常运行,但ASP.NET Core网站出现了此问题。
ASP.NET Core发布错误:启动应用程序时发生错误
如果您遇到了这个错误,那么实际上这并不是真正的错误。您需要找到真正的错误。为了查看真正的错误,请按照以下步骤操作。请记住,在确定问题并修复之后,您需要撤消这些更改。不应该向最终用户显示真正的错误。
在您的开发环境中,尝试将以下内容添加/更新到web.config以查看真正的错误:
在您的Program.cs文件中添加/更新以下内容以查看真正的错误:
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .CaptureStartupErrors(true) .UseSetting("detailedErrors", "true") .UseStartup() .Build();
这样做可以让您看到实际的错误信息,以便更好地定位和解决问题。请记住,在将应用程序部署到生产环境之前,务必撤消这些更改,以防止真实的错误信息泄露给最终用户。
ASP.NET Core发布错误:启动应用程序时出现错误
在ASP.NET Core中,当启动应用程序时出现错误,可能是因为启动配置错误或与已安装的.NET Core运行时相关,但没有更多的技术信息很难确定确切原因。
在这种错误出现时,您可以参考这篇文章(https://scottsauber.com/2017/04/10/how-to-troubleshoot-an-error-occurred-while-starting-the-application-in-asp-net-core-on-iis)来获取基本的日志信息,这将为您提供一个良好的起点。
如果您遇到startup
错误,而stdout错误日志对您没有帮助,您可以在代码中启用额外的启动选项,以输出实际的完整原因,这在开发过程中非常有用。您可以参考我的博客文章(http://pkula.blogspot.co.uk/2017/11/asp-net-core-how-to-fix-error-occurred.html)了解更多信息。