Azure上的Asp.Net Core 2.0产生了502.5

前端之家收集整理的这篇文章主要介绍了Azure上的Asp.Net Core 2.0产生了502.5前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个小型的Web应用程序,使用部署在Azure上的Asp.Net Core 1.1开发,效果很好.我刚刚迁移了项目以使用Asp.Net Core 2.0并尝试在Azure上部署它.部署进行得很顺利,但是当我打开网站时,出现了502.5错误.当我检查我的Azure日志流时,我收到以下错误

This error occurs when a CGI application does not return a valid set
of HTTP headers,or when a proxy or gateway was unable to send the
request to a parent gateway. You may need to get a network trace or
contact the proxy server administrator,if it is not a CGI problem.

毫无疑问,它在我的开发机器上使用相同的代码运行良好.请注意,我也使用Entity Framework Core 2.0,尽管我在Azure上停用了数据库创建(以检查它是否不是原因).

有关信息,我从1.1迁移到2.0的方法是将目标框架设置更改为“netcoreapp2.0”并使用NuGet包“Microsoft.AspNetCore.All”.为了确定,我还删除了我的发布配置文件并重新创建了一个.

是否有可能Azure上尚未提供Asp.Net Core 2.0?我是Asp.Net Core的新手,因此我不知道Azure上何时提供新版本.

编辑

当我尝试通过natemcmaster提出的调试控制台使用dot net CLI运行我的应用程序时,我遇到了以下问题:

Unhandled Exception: System.IO.FileLoadException: Could not load file
or assembly ‘Microsoft.AspNetCore.Hosting.Abstractions,
Version=2.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60’.
The located assembly’s manifest definition does not match the assembly
reference. (Exception from HRESULT: 0x80131040)

我在我的桌面上下载了DLL并检查了Dot Net Peak的版本,事实上,DLL是1.1.2,虽然我使用Visual Studio创建项目并直接发布它,因此它是Visual Studio的问题吗?还是Nuget?

解决方法

问题实际上来自这样一个事实,起初,我的网络应用程序正在使用.net核心1.1,它将所有DLL部署在Web应用程序的“wwwroot”文件夹中.然而,使用asp.net core 2.0,它不再那样做,因为DLL是从全局商店中获取的.但是,由于Visual Studio在发布之前没有清理目标文件夹,我最终得到了1.1 DLL在我的wwwroot中的情况,因此网站正在拾取这些而不是商店文件夹中的2.0.

这里有更详细的解释:https://github.com/Azure/app-service-announcements-discussions/issues/2#issuecomment-313816550

猜你在找的.NET Core相关文章