Azure Web App | 部署错误 - 基于框架的部署是ProcessFrameworkReferences的 SelfContained参数的无效取值
我正在使用Visual Studio 2022,在Blazor(.NET 8)中部署一个Web应用。
我已经绑定了Azure账户,正在尝试把该Web应用部署到我其中一个Azure Web Apps。
发布应用时,Visual Studio抛出以下错误:
「Framework-dependent」是「ProcessFrameworkReferences」任务的SelfContained参数的无效值。SelfContained参数的类型是System.Boolean。
目前,该Web应用处于免费层级。
我需要对Web应用进行哪些升级,还是解决方案中有某些配置需要调整?

解决方案
这个问题既涉及需要“升级”,也涉及你的项目或pubxml文件中的配置错误。
.NET 8要求你的 .csproj 和 .pubxml 文件包含一个名为 <SelfContained></SelfContained> 的部分,其值为 true 或 false。
在早期版本的.NET中,SelfContained的值实际上可以使用 Framework-dependent 作为该值。我怀疑你是在较早版本的.NET下创建了项目,然后升级到了.NET 8。
你可以在你的 .csproj 和 .pubxml 文件中手动修改这些值,或者尝试运行.NET Upgrade Assistant(作为VS扩展可用 此处),让它检查你的解决方案,查看是否还有其他错误的配置值或尚未正确迁移到.NET 8的依赖项。
请注意,从Visual Studio 2022版本17.14.16起,该扩展已被弃用,并已被GitHub Copilot应用现代化对话代理所取代。你仍然可以在VS中访问旧版本,前往:Tools → Options → Projects and Solutions → Modernization → Enable legacy Upgrade Assistant。