VS2022新建MAUI应用默认依赖.NET6而非.NET9的问题求助
问题分析与解决方案
核心问题总结
使用VS2022社区版新建.NET MAUI项目时,默认依赖.NET 6,执行dotnet workload restore后仍出现tizen相关工作负载报错,手动修改目标框架为.NET 9也无法解决问题。
针对疑问的解答与修复步骤
1. 为何新项目默认依赖.NET 6而非.NET 9?
- VS内置的MAUI项目模板未更新:旧版模板默认绑定.NET 6,未同步到你安装的.NET 9 SDK版本。
- 存在全局版本锁定:系统或项目目录下的
global.json文件强制指定了.NET 6 SDK版本,导致新建项目时优先使用该版本。
2. 让新项目默认使用.NET 9的修复步骤
步骤1:更新MAUI项目模板
打开命令提示符,执行以下命令拉取最新模板:
dotnet new update
该命令会同步当前安装的最高版本.NET SDK对应的MAUI模板。
步骤2:检查并修改global.json(若存在)
在用户目录(C:\Users\[你的用户名])或常用项目根目录查找global.json文件,打开后确认sdk.version是否为.NET 9版本。如果是旧版本,修改为已安装的.NET 9 SDK版本,示例:
{ "sdk": { "version": "9.0.100" } }
若无此文件,无需创建,VS会自动使用已安装的最新SDK。
3. 解决tizen/maccatalyst目标框架与工作负载错误
原因
旧版MAUI模板默认包含tizen和maccatalyst目标框架,若未安装对应工作负载或不需要这些平台,就会触发构建报错。
修复方案
- 方案1:移除不需要的目标框架
打开项目的.csproj文件,将<TargetFrameworks>修改为你实际需要的平台,例如仅保留Android和Windows:
<TargetFrameworks>net9.0-android;net9.0-windows10.0.19041.0</TargetFrameworks>
- 方案2:强制修复工作负载(若需要tizen平台)
执行以下命令彻底卸载并重装tizen工作负载:
dotnet workload uninstall maui-tizen dotnet workload install maui-tizen --force
若仍无效,清理工作负载缓存后重新恢复:
dotnet workload clean dotnet workload restore
4. 极端情况:重置VS模板
如果以上步骤均无效,重置VS的项目模板:
- 打开VS2022,点击
工具->导入和导出设置->重置所有设置,选择否,仅重置设置,从而覆盖我的当前设置,选择默认配置完成重置。 - 再次执行
dotnet new update更新模板。
验证方法
完成上述操作后,重新新建.NET MAUI项目,查看.csproj中的目标框架是否默认使用net9.0-*,构建项目确认是否仍有工作负载报错。
内容的提问来源于stack exchange,提问作者Prince
相关产品推荐
相关产品推荐

