带有 .NET Core 3.0 的 Azure Web 应用程序失败:找不到 Microsoft.AspNetCore.App
Azure web app with .NET Core 3.0 fails: Can't find Microsoft.AspNetCore.App
我们正在尝试在升级到 .NET Core 3.0 后部署我们的 Web 应用程序,但它一直收到 "service unavailable" 消息。如果我们尝试从 Kudu (dotnet webapp.dll
) 运行 dotnet
,我们会收到以下错误:
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's guide for Azure 安装 .NET Core 3.0,但没有成功。
有什么建议吗?
我们遇到了完全相同的问题。 Azure 应用服务目前不支持 Net Core 3。
临时解决方法是通过发布工具从 Visual Studio 构建一个独立的应用程序。您可以在发布设置中将其从 Framework Dependent 更改为 Self Contained。只需将其部署到 Azure。
我们还尝试使用我们的 DevOps 管道来执行此操作,但无法确定如何进行自包含构建,并且由于 Azure 希望很快支持 Net Core 3,因此目前发布工作正常。
希望对您有所帮助:)
上跟踪最新版本
我的问题与不正确的 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" />
您可以使用 Azure 应用服务扩展(打开应用服务 -> 扩展)添加 .net core 3.0 x86/ 64 框架。然后发布.net core 3.0 app.
现在 Azure 支持 .NET core 3.0 查看这篇文章,了解如何在没有自包含应用程序的情况下发布。
.NET Core 3.0 现已可用
我尝试将 .net core 3.1 blazor 服务器应用程序部署到应用程序服务 linux 但失败并出现同样的错误。所以我将它部署到 windows .net core 3.0 web 应用程序,它作为独立的和框架相关的 (windows x86) 部署工作。显然 .net core 3.1 运行时也安装在这些服务器上。但是没查过。
我们正在尝试在升级到 .NET Core 3.0 后部署我们的 Web 应用程序,但它一直收到 "service unavailable" 消息。如果我们尝试从 Kudu (dotnet webapp.dll
) 运行 dotnet
,我们会收到以下错误:
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's guide for Azure 安装 .NET Core 3.0,但没有成功。
有什么建议吗?
我们遇到了完全相同的问题。 Azure 应用服务目前不支持 Net Core 3。
临时解决方法是通过发布工具从 Visual Studio 构建一个独立的应用程序。您可以在发布设置中将其从 Framework Dependent 更改为 Self Contained。只需将其部署到 Azure。
我们还尝试使用我们的 DevOps 管道来执行此操作,但无法确定如何进行自包含构建,并且由于 Azure 希望很快支持 Net Core 3,因此目前发布工作正常。
希望对您有所帮助:)
我的问题与不正确的 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" />
您可以使用 Azure 应用服务扩展(打开应用服务 -> 扩展)添加 .net core 3.0 x86/ 64 框架。然后发布.net core 3.0 app.
现在 Azure 支持 .NET core 3.0 查看这篇文章,了解如何在没有自包含应用程序的情况下发布。
.NET Core 3.0 现已可用
我尝试将 .net core 3.1 blazor 服务器应用程序部署到应用程序服务 linux 但失败并出现同样的错误。所以我将它部署到 windows .net core 3.0 web 应用程序,它作为独立的和框架相关的 (windows x86) 部署工作。显然 .net core 3.1 运行时也安装在这些服务器上。但是没查过。