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

当我尝试以天蓝色的方式访问该网站时,出现500内部服务器错误。我已经尝试了很多方法,但是似乎无法找到失败的根本原因。我碰壁时正在寻找建议。根据我在下面尝试过的内容,似乎某些基本初始化失败了。

这是我尝试过的:


启用customerrors =“ off”。我使用system.web / customErrors mode =“ Off”将web.config添加到wwwroot文件夹。我已经验证了在已部署的wwwroot中正确填充了web.config,并正确合并了包含dnxversion等的appsettings。
自定义自定义错误页面,添加runtimeinfo。我在Startup.cs中进行了以下设置:
app.UseErrorHandler("/Home/Error");。我还设置了错误页面以显示异常。这似乎没有受到打击。

附加到远程进程进行调试。 Visual Studio最终死机了,所以什么也没得到。
启用应用程序见解。当我在本地调试时,这会注册事件,但不会从azure实例中捕获任何内容。
启用的应用程序日志并请求失败跟踪。详细错误显示为500.0,而没有太多详细信息。


Imgur
Imgur

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

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

最佳答案

假设您的目标是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”名称):

Deploying ASP.NET vNext beta 2 on Azure with Kudu

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

07-28 11:41