4

我有一个运行 asp.net 5 beta4 的站点,并决定升级到 beta5。该网站在本地运行良好。我将更改推送到 master 并从 bitbucket 中提取并成功部署。

当我尝试在 azure 中访问该站点时,我收到 500 内部服务器错误。我已经尝试了很多事情,但似乎无法找到失败的根本原因。我正在寻找建议,因为我正在碰壁。从我在下面的尝试看来,一些基本的初始化似乎失败了。

这是我尝试过的:

  • 启用 customerrors="off"。我使用 system.web/customErrors mode="Off" 将 web.config 添加到 wwwroot 文件夹。我已验证 web.config 在部署的 wwwroot 中正确填充,并且包含 dnxversion 等的 appsettings 已正确合并。
  • 自定义自定义错误页面,添加 runtimeinfo. 我的 Startup.cs 中有以下设置: app.UseErrorHandler("/Home/Error");. 我还设置了错误页面以显示异常。这似乎没有被击中。
  • 附加到远程进程进行调试。Visual Studio 最终会冻结,所以没有得到任何结果。
  • 启用应用程序洞察力。当我在本地调试时,这会注册事件,但不会从 azure 实例中捕获任何内容。
  • 启用应用程序日志和请求故障跟踪。详细错误显示为 500.0,没有太多详细信息。

伊姆古尔 _

我还通过控制台验证了运行时已正确设置为 beta5。

更新: 我将 ASPNET_ENV 设置为 Development 并加载了通过 azure 门户加载的 appsettings。将 ASPNET_ENV 设置为其他内容不起作用。我还从 startup.cs 中删除了任何与非开发环境相关的自定义代码,但没有任何帮助。我仍在寻找捕获原始错误的方法。

4

1 回答 1

1

假设您的目标是 DNX451 而不是 dnxcore50,Azure 很有可能仍在尝试针对 beta4 运行时而不是 beta5 运行它。如果是这种情况,您将不会收到像样的错误消息。

尝试在 Azure 中添加环境变量“SCM_DNX_VERSION”并将其设置为 1.0.0-beta5。看起来 kudu 最近升级为支持 beta5 https://github.com/projectkudu/kudu/commit/55175a017779bf493ff8e6ce87b96dd1451f7d7b,因此如果 Kudu 团队已经部署了此更改,您可能需要尝试从 bitbucket 重新部署。

有关更多详细信息,您可以在此处查看我以前的答案(尽管它非常过时并引用了旧的“K”名称):

使用 Kudu 在 Azure 上部署 ASP.NET vNext beta 2

每次更新到新的 beta 版时,都必须更新 SCM_DNX_VERSION 环境变量。

于 2015-07-06T20:51:38.267 回答