11
votes

We are trying to deploy our web app after upgrading to .NET Core 3.0, but it keeps getting the "service unavailable" message. If we try to run dotnet from Kudu (dotnet webapp.dll) we get the following error:

It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found.
  - The following frameworks were found:
      2.1.10 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.1.12 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.1.13 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.2.5 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.2.6 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.2.7 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]

You can resolve the problem by installing the specified framework and/or SDK.

The .NET Core frameworks can be found at:
  - https://aka.ms/dotnet-download

We tried to install .NET Core 3.0 with Microsoft's guide for Azure, but with no success.

Any suggestions?

7
When you say you tried to install .net core 3.0 but had no success, are you meaning you were able to install the extension but it didn't fix the problem? We are running a .net core 3.0 web app fine in azure using the guide provided above. We had to do what @David_D mentioned below (create a SCD) but only for our web job.Macilquham
ASP.NET Core 3.0 is supported now.Robert Lewis

7 Answers

10
votes

We had exactly the same problem. Azure App Service does not currently support Net Core 3.

The temporary workaround is to build a self contained app from Visual Studio through the publish tool. You can change it from Framework Dependent to Self Contained in the publishing settings. Simply deploy that to Azure.

We also tried to use our DevOps pipelines to do this, but couldn't work out how to do a self contained build and as Azure will hopefully support Net Core 3 soon, the publish works fine for now.

Hope that helps :)

9
votes

You can keep track on the latest releases on the ASP.NET Core on App Service Dashboard

4
votes

You can add .net core 3.0 x86/ 64 framework using Azure app service extension (open app service -> extensions). Then publish .net core 3.0 app.

1
votes

Now Azure supports .NET core 3.0 check out this article on how to publish without self contained app.

https://link.medium.com/U2PhGVLrJ0

1
votes

.NET Core 3.0 is now available

enter image description here

0
votes

My problem was related to an incorrect web.config. When changing to self-contained application you have to modify the aspNetCore-part of your web.config.

New web.config

<aspNetCore processPath=".\[your].exe"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"/>

Old web.config

<aspNetCore processPath="dotnet" 
arguments=".\[your].dll" 
stdoutLogEnabled="false" 
stdoutLogFile=".\logs\stdout" />
0
votes

I tried deploying .net core 3.1 blazor server app to app service linux and it failed with same error. So I deployed it to windows .net core 3.0 web app and it worked as self-contained and framework-dependent (windows x86) deployment. Apparently .net core 3.1 runtime is also installed on these servers. But haven't checked.