【发布时间】:2021-11-09 00:30:30
【问题描述】:
根据今天发布的ASP.NET Core 6 发布公告,据我了解,.NET 6 will be immediately available(“第 0 天 支持”)通过抢先体验获得 Azure 应用服务:
我们很高兴地宣布,App Service 正在第 0 天在 Windows 和 Linux App Service 计划的所有公共区域和场景中推出对 .NET 6.0 应用程序的支持.
在将我的 ASP.NET Core 应用程序升级到 ASP.NET Core 6、配置我的 Azure App Service 以使用 .NET 6 并将我的应用程序发布到我现有的 Azure App Service 之后,我收到一个 HTTP 错误 500.31具体信息:
找不到框架“Microsoft.NETCore.App”,版本“6.0.0”(x64)。
值得注意的是,它列出的唯一可用的 .NET 6 运行时是 RC2 (6.0.0-rc.2.21480.5),而不是今天的发布版本。
升级步骤
为此,我执行了以下步骤:
-
项目文件 (
csproj):更新了<TargetFramework />以定位net6.0 -
发布配置文件 (
pubxml):更新了<TargetFramework />以定位net6.0 -
项目文件 (
csproj):将所有Microsoft.AspNetCore.*NuGet 包更新为6.0.0 - Azure 应用服务配置:将 .NET 版本更新为“.NET 6(抢先体验)”
错误信息
但是,当访问我的 Azure 应用服务站点 with detailed errors enabled 时,我收到以下错误:
HTTP 错误 500.31 - ANCM 未能找到本机依赖项
此问题的常见解决方案:
未找到指定版本的 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App。
ANCM 检测到的具体错误:
It was not possible to find any compatible framework version The framework 'Microsoft.NETCore.App', version '6.0.0' (x64) was not found. The following frameworks were found: 2.2.14 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] 3.0.3 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] 3.1.15 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] 3.1.18 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] 5.0.7 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] 5.0.9 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] 6.0.0-rc.2.21480.5 at [D:\Program Files\dotnet\shared\Microsoft.NETCore.App] You can resolve the problem by installing the specified framework and/or SDK. The specified framework can be found at: https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=6.0.0&arch=x64&rid=win10-x64
其他信息
- 我已经重新启动了我的 Azure 应用服务(显然!)
- 我已经等待(一个多小时)通过抢先体验安装运行时
- 我正在使用
Framework-dependent部署模式发布我的 Web 应用程序 - 我没有通过 Azure 应用服务扩展配置任何 .NET 运行时
- 我没有配置
AspNetCoreModule(V2)(ASP.NET Core 3 需要) - 此 Azure 应用服务计划位于美国中南部地区
- 我从今天发布的 Visual Studio 2022 发布
混合消息
虽然上面引用的 Azure App Service update 暗示会有“day 0 支持”,但 the ASP.NET Core 6 announcement 的承诺较少:
在撰写本文时,.NET 6 正在积极部署到全球服务器网络,并配置为构建和运行 .NET 6 应用程序……这应该会在本周末结束
我认为 GitHub 上的 Azure 更新将是最权威的来源,但可能存在 Azure 团队尚未确认的部署问题?
相关主题
我之前发布了两个与将早期版本的 ASP.NET Core Web 应用程序发布到 Azure 应用服务相关的问题,并且遵循了与这些帖子相关的解决方案,但无济于事:
- Error publishing an ASP.NET Core 3.1 site to Azure from Visual Studio 2019
- Deploy ASP.NET Core 5 app to existing Azure App Service?
问题
如何使用 Early Access 计划将 ASP.NET Core 6 应用的发布版本部署到 Azure 应用服务?这还准备好了吗(根据the Azure App Service announcement)?还是我们需要等到周末(根据the ASP.NET Core 6 announcement)?
理想情况下,我希望利用 Early Access 而不用我的应用程序分发运行时(作为自包含分发)或通过扩展安装运行时。显然,这些仍然是选项,但抢先体验的前提是它们不应该是必需的。
【问题讨论】:
-
您使用的 Visual Studio 版本是什么?
-
@HarshithaVeeramalla-MT:问得好。我应该把它包括在我的问题中。这是使用今天发布的 Visual Studio 2022。Web 应用程序在本地运行,没有任何问题。主要问题似乎是它没有识别 Azure App Service 上的 .NET 6 运行时。
-
@HarshithaVeeramalla-MT:仅供参考:这似乎只是一个沟通不畅的推出,并且从今天开始可用(与 .NET Conf 2021 对应的“官方”发布),但不是昨天还可用(与 GitHub 版本一起)。现在一切都完全按照沟通的方式工作。 See my answer below.
标签: asp.net-core azure-web-app-service .net-6.0 asp.net-core-6.0