Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Asp.Net Core 2.0 on Azure results in a 502.5

I have a small web app developed with Asp.Net Core 1.1 deployed on Azure and it works well. I just migrated the project to use Asp.Net Core 2.0 and tried to deploy it on Azure. The deployment went fine but when I open the site, I get a 502.5 error. When I check my Azure log stream, I get the following error:

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.

Useless to say that it works well on my development machine with the same code. Note that I'm also using Entity Framework Core 2.0 although I deactivated the database creation on Azure (to check if it was not the cause).

For information, the way I migrated from 1.1 to 2.0 is by changing the target framework settings to "netcoreapp2.0" and by using the NuGet package "Microsoft.AspNetCore.All". Just to be sure, I also deleted my publish profile and recreate one.

Is it possible that Asp.Net Core 2.0 is not yet available on Azure ? I'm fairly new to Asp.Net Core, so I don't know when new releases are made available on Azure.

EDIT

When I try to run my app with dot net CLI via the debug console as proposed by natemcmaster, I got the following issue:

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)

I downloaded the DLL on my desktop and check the version with Dot Net Peak and indeed, the DLL is 1.1.2, although I created the project with Visual Studio and directly publish it, so is it an issue with Visual Studio ? Or Nuget ?

like image 903
ssougnez Avatar asked Jun 14 '17 16:06

ssougnez


People also ask

Does Azure support .NET Core?

NET-based tools. You can use Azure App Service to quickly roll out ASP.NET Core 6.0 application back ends, using familiar Visual Studio tools. Again, the advantage here is Long Term Support for your development and deployment environments, as well as cross-platform support for the .

Can ASP NET be deployed with Azure?

Use Visual Studio to create and deploy an ASP.NET Core web app to Azure App Service on Windows. Use the command line to create and deploy an ASP.NET Core web app to Azure App Service on Linux.


2 Answers

the issue was actually coming from the fact that, at first, my web app was using .net core 1.1, which deploys all the DLL in the "wwwroot" folder of the web application. However, with asp.net core 2.0, it does not do that anymore as the DLL are picked up from a global store. However, as Visual Studio does not clean the destination folder before a publish, I ended up with a situation where the 1.1 DLL were in my wwwroot, so the web site was picking up these ones instead of the 2.0 ones in the store folder.

This is explained in more details here: https://github.com/Azure/app-service-announcements-discussions/issues/2#issuecomment-313816550

like image 111
ssougnez Avatar answered Sep 23 '22 02:09

ssougnez


Others have explained the reason why this is happening. I'd like to provide another – arguably easier – solution to the problem.

Just change the settings so that you remove files that are already on Azure – see below:

publish project settings

publish project settings option

like image 21
Sam Avatar answered Sep 20 '22 02:09

Sam