.NET MAUI:如何查看当前环境使用的MAUI版本号
以下是几种可直接落地的校验方式,优先用命令行方法,结果最准确,不会被安装程序的缓存信息误导:
命令行全局查询(首选)
打开任意终端(PowerShell、CMD、VS开发者命令行、macOS/Linux终端都可以),执行命令:dotnet workload list
返回的已安装工作负载列表里,maui条目对应的版本号就是当前环境全局生效的.NET MAUI版本。版本判断规则:版本号为6.0.3xx及以上的纯数字正式版号、无
-preview/-rc后缀的,就是GA正式版本;如果版本号带-preview.3字样,就是之前安装的Preview 3预览版。
如果要进一步校验项目模板的匹配版本,可以追加执行:
Windows环境:dotnet new --list | findstr "maui"
macOS/Linux环境:dotnet new --list | grep "maui"
输出的模板版本和工作负载版本一致,说明环境配置没有错乱。通过现有项目校验实际构建用版本
如果本地有已经创建好的MAUI项目,可以直接验证构建时实际引用的MAUI版本:- 打开项目根目录下的
.csproj项目文件,如果有显式写<MauiVersion>xxx</MauiVersion>属性,那这个项目会强制用指定的版本构建,和全局版本无关 - 如果没有上述属性,在VS里执行一次项目生成,打开「输出」窗口,将输出来源切换为「生成」,搜索
Microsoft.Maui相关的包还原记录,里面标注的版本号就是当前构建实际调用的MAUI版本。
- 打开项目根目录下的
Visual Studio安装程序交叉验证
不要直接看安装程序首页的VS版本号,那个是VS外壳的版本,和MAUI工作负载版本不绑定。正确操作是:选中当前使用的VS实例,点击「修改」,切换到「单个组件」标签页,搜索.NET MAUI,列表中.NET Multi-platform App UI 核心组件后面标注的版本号,就是安装程序记录的MAUI版本,可以和命令行查到的结果做核对。如果两者不一致,执行一次dotnet workload repair修复工作负载即可。
找不到有效查询方法的核心原因是,.NET MAUI从正式版开始是作为dotnet独立工作负载分发的,不跟VS版本号强绑定,所以查VS版本、看安装程序首页信息都没法得到准确的MAUI版本号,必须查工作负载维度的版本信息才准确。
内容的提问来源于stack exchange,提问作者gfmoore

