Azure WebApp Asp.NET Core 2错误:启动应用程序时发生错误

时间:2017-11-06 10:22:49

标签: c# asp.net asp.net-mvc azure asp.net-core-2.0

我已将asp.net核心1.1升级到asp.net核心2.它在本地服务器上运行良好,但当我尝试将其部署到Azure托管的Web应用程序时,我收到错误:

  

启动应用程序时发生错误。 .NET核心

     

4.6.00001.0 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting版本2.0.0-rtm-26452 | Microsoft Windows 6.2.9200

enter image description here

有什么想法吗?

8 个答案:

答案 0 :(得分:38)

请在应用的应用设置中添加ASPNETCORE_DETAILEDERRORS = true,重新启动它,并在下次加载网址时查看详细错误。 这将有助于你解决它。

例如,我的错误是我没有配置API API的托管标识来访问密钥保管库以获取存储帐户和Cosmos DB密钥。我使用startup来注入已配置的存储和cosmos数据库对象,因此在我启动应用程序时失败了。

答案 1 :(得分:2)

https://scottsauber.com/2017/04/10/how-to-troubleshoot-an-error-occurred-while-starting-the-application-in-asp-net-core-on-iis/那里获得了我的提示

  1. 打开您的web.config
  2. 更改stdoutLogEnabled = true
  3. 创建日志文件夹 不幸的是,默认情况下,AspNetCoreModule不会为您创建文件夹 如果您忘记创建日志文件夹,则会在事件查看器中记录一条错误消息:警告:无法创建stdoutLogFile \?\ YourPath \ logs \ stdout_timestamp.log,ErrorCode = -2147024893。 值“。\ logs \ stdout”的“ stdout”部分实际上引用文件名而不是文件夹。这有点令人困惑。 再次运行您的请求,然后打开\ logs \ stdout _ *。log文件

注意–完成故障排除后,您希望将其关闭,因为这会影响性能。

因此您的web.config的aspNetCore元素应如下所示

答案 2 :(得分:1)

我设法自己解决了这个问题,我希望这个解决方案可以帮助别人。

首先,我在Azure服务器上设置了日志文件夹,并找到了更多详细信息。 我忘记了SQL.Update数据库更改中的一些数据库更改并运行它现在正常工作。

答案 3 :(得分:0)

通过从发布的可执行文件启动应用程序,我能够发现此错误的例外情况。

要在本地尝试此操作,可以右键单击Web项目,单击“发布”,然后将其发布到文件夹中。文件夹中应该有一个与项目同名的可执行文件。运行该命令,它将在控制台中显示异常。

答案 4 :(得分:0)

您可以通过启用ASPNETCORE_DETAILEDERRORS = true获得更多详细信息:

转到您的Azure仪表板->您的应用程序服务

在应用程序的“设置”(位于左侧边栏中)->向下滚动至“ 配置”,这是一个key:value对设置,请输入以上内容。 重新启动您的网络应用。

答案 5 :(得分:0)

DetailedErrorsKey中启用Program.cs,以便您了解发生了什么。

WebHost.CreateDefaultBuilder(args)
    .UseSetting(WebHostDefaults.DetailedErrorsKey, "true")

答案 6 :(得分:0)

尝试通过触发命令执行应用程序

  

dotnet myapplicationname.dll

这将引发启动错误,并可以帮助您缩小错误范围。

答案 7 :(得分:0)

请检查代码中的 Appsettings.json 文件或 JSON 文件并检查它们的格式,我遇到了同样的问题,因为在将代码发布到 azure 时 appsettings.json 文件中缺少“,”。之后,我更正了 appsettings.json 文件中的错误,并重新发布了它运行良好。