带有.NET Core 3.0的Azure Web应用程序失败:找不到Microsoft.AspNetCore.App


10

升级到.NET Core 3.0后,我们正在尝试部署Web应用程序,但它始终显示“服务不可用”消息。如果尝试dotnet从Kudu(dotnet webapp.dll)运行,则会出现以下错误:

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

我们尝试通过Microsoft Azure指南安装.NET Core 3.0 ,但没有成功。

有什么建议么?


当您说您尝试安装.net core 3.0但没有成功时,您的意思是您能够安装该扩展程序但未能解决问题吗?使用上面提供的指南,我们正在免费运行.net core 3.0 Web应用程序。我们必须做下面提到的@David_D(创建一个SCD),但是仅用于我们的Web工作。
Macilquham

现在支持ASP.NET Core 3.0。
罗伯·刘易斯,

Answers:


9

我们有完全相同的问题。Azure应用服务当前不支持Net Core 3。

临时的解决方法是通过发布工具从Visual Studio构建一个自包含的应用程序。您可以在发布设置中将其从“依赖框架”更改为“自包含”。只需将其部署到Azure。

我们还尝试使用DevOps管道来执行此操作,但是无法解决如何进行自包含构建的问题,并且由于Azure有望很快支持Net Core 3,因此该发布现在可以正常工作。

希望有帮助:)


这个答案不再正确,可以通过App Service扩展添加3.0。
朱西·帕洛

正如其他人指出的那样,由于Azure App Service现在支持.Net Core 3,因此这不再是一个问题,DevOps Pipelines也是如此。
David D

虽然它说,它支持它在蔚蓝的门户,我还是当设置为3.0磊科得到这个错误

直到我从测试应用程序中删除了身份,我才明白这一点。很高兴知道我可以使用它,但是身份是该项目的必需功能。
JCPhlux

@JussiPalo即使通过App Service的扩展也无法正常工作,我遇到了同样的问题!!!现在,大卫的答案是正确的!不幸的是,我花了一天的时间才解决此问题,但没有成功。
natnael88

9

您可以在App Service仪表板上ASP.NET Core上跟踪最新版本。


感谢您的分享。我将其添加书签,以查看何时可以停止以独立应用程序的形式发布。是否有任何地方显示他们何时开始推出的路线图?因为到目前为止,每个区域仍显示为2.2。本来以为MS至少会在发布后的一两个区域中试用它们自己的平台。我们已经有几个月的预览版了。
WildJoe

2
没有路线图,但显然他们“期望在10月11日之前完成全球部署”。github.com/Azure/app-service-announcements/issues/204
sjokkogutten

我一直在寻找这样的链接一段时间。严重的问题:您甚至在哪里找到它?
内维尔·纳泽拉内

我在docs.microsoft.com站点之一的讨论线程中找到了它。不幸的是,我无法再次找到。
sjokkogutten

1
看起来现在支持ASP.NET Core 3.0。我今天使用ASP.NET Core发布了一个Azure Web应用程序,而没有使用“自包含的应用程序”,它可以工作。
罗伯·刘易斯,

4

您可以使用Azure应用服务扩展(打开应用服务->扩展)添加.net core 3.0 x86 / 64框架。然后发布.net core 3.0应用。


扩展程序显示为灰色。有什么想法可以解决这个问题吗?
轧辊

不起作用!使用扩展,目前唯一的解决方案是@David的答案使用Visual Studio发布工具。
natnael88



0

我的问题与不正确的web.config有关。当更改为独立应用程序时,您必须修改web.config的aspNetCore部分。

新的web.config

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

旧的web.config

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

0

我尝试将.net core 3.1 blazor服务器应用程序部署到应用程序服务linux,但由于相同的错误而失败。因此,我将其部署到Windows .net core 3.0 Web应用程序中,它作为独立且依赖于框架的(windows x86)部署工作。显然,.net core 3.1运行时也已安装在这些服务器上。但是还没有检查。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.