根据今天宣布的ASP.NET Core 6版本,我认为.NET 6 将通过 Early Access 在 Azure 应用服务上立即可用(“第 0 天支持”):
我们很高兴地宣布,应用服务将在 Windows 和 Linux 应用服务计划的所有公共区域和场景中推出对.NET 6.0应用程序的第 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 应用服务站点时,我收到以下错误:
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 App Service Extensions 配置任何 .NET 运行时
- 我没有配置
AspNetCoreModule
(V2
)(这是 ASP.NET Core 3 所要求的) - 此 Azure 应用服务计划位于美国中南部地区
- 我从今天发布的 Visual Studio 2022 发布
混合消息
虽然上面引用的Azure 应用服务更新表明将提供“第 0 天支持”,但 ASP.NET Core 6 公告的承诺较少:
在撰写本文时,.NET 6 正在积极部署到全球服务器网络,并配置为构建和运行 .NET 6 应用程序……这应该在本周末结束
我会假设 GitHub 上的 Azure 更新将是最权威的来源,但也许 Azure 团队尚未确认推出的问题?
相关话题
我之前发布了两个与将早期版本的 ASP.NET Core Web 应用程序发布到 Azure App Services 相关的问题,并遵循了与这些帖子相关的解决方案,但无济于事:
问题
如何使用 Early Access 计划将 ASP.NET Core 6 应用的发布版本部署到 Azure 应用服务?这还准备好了吗(根据Azure 应用服务公告)?还是我们需要等到周末(根据ASP.NET Core 6 公告)?
理想情况下,我想利用 Early Access 而不用我的应用程序分发运行时(作为自包含分发)或通过扩展安装运行时。显然,这些仍然是选项,但抢先体验的前提是它们不应该是必需的。