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

Arv*_*ara 35 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

在此输入图像描述

有任何想法吗?

Sun*_*gia 73

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

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

  • 作为参考,请转到Azure仪表板->所有资源->您的应用程序服务->左侧边栏中的应用程序设置->向下滚动至“应用程序设置”,这是一个键:值对设置,输入以上内容。重新启动您的Web应用程序,您应该会看到一条不错的错误消息。感谢Suneet,调试工作已由此修复! (11认同)
  • 这工作了!只是对于我来说,设置的位置似乎有所不同。它位于应用程序服务->配置下(在左侧导航栏中的设置部分中)。有没有一种方法可以记录这些信息,以便以后可以看到但在生产站点中对用户不可见? (2认同)

Nol*_*osi 6

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\日志\stdout_timestamp.log,错误代码 = -2147024893。值“.\logs\stdout”的“stdout”部分实际上引用的是文件名而不是文件夹。这有点令人困惑。再次运行您的请求,然后打开 \logs\stdout_*.log 文件

注意 – 您需要在完成故障排除后关闭此功能,因为它会影响性能。

所以你的 web.config 的 aspNetCore 元素应该是这样的

<aspNetCore processPath=”.\YourProjectName.exe” stdoutLogEnabled=”true” stdoutLogFile=”.\logs\stdout” />
Run Code Online (Sandbox Code Playgroud)

  • 看起来像什么? (7认同)

Mas*_*ian 6

在 中启用DetailedErrorsKeyProgram.cs以便您可以弄清楚发生了什么。

WebHost.CreateDefaultBuilder(args)
    .UseSetting(WebHostDefaults.DetailedErrorsKey, "true")
Run Code Online (Sandbox Code Playgroud)


Arv*_*ara 2

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

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

  • @Andrew在FTP服务器上在以下位置“/site/wwwroot/logs”上创建文件夹,也在webconfig文件中进行配置,如下所示“&lt;aspNetCore requestTimeout =“00:30:00”processPath =“%LAUNCHER_PATH%”arguments =“%LAUNCHER_ARGS%” “stdoutLogEnabled =“true”stdoutLogFile =“。\ logs \ stdout”forwardWindowsAuthToken =“false”&gt; &lt;environmentVariables /&gt; &lt;/aspNetCore&gt;“ (2认同)