You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.NET 6 RC2运行.NET MAUI应用单元测试报错如何解决?

报错成因
  • .NET 6 Release Candidate 2阶段的MAUI还属于预览工作负载,Microsoft.Maui.Core的版本号没有硬编码到SDK中,而是用动态绑定标记**FromWorkload**替代,由本地安装的MAUI工作负载提供实际版本号
  • 单元测试项目的默认构建逻辑不会触发MAUI工作负载的版本解析流程,执行dotnet test时,测试宿主进程无法识别**FromWorkload**标记,也就匹配不到本地已安装的MAUI运行时
  • 若单元测试项目仅引用了MAUI类库,自身没有配置MAUI相关构建属性,SDK不会向测试进程注入MAUI运行时的查找路径,也会触发该报错
解决方案
  1. 给单元测试项目的.csproj配置文件添加MAUI工作负载识别属性,开启版本解析:
<PropertyGroup>
  <!-- 开启MAUI工作负载识别 -->
  <UseMaui>true</UseMaui>
  <!-- 单元测试仅保留桌面端目标框架即可 -->
  <TargetFrameworks>net6.0</TargetFrameworks>
  <OutputType>Exe</OutputType>
</PropertyGroup>
  1. 确认本地安装了对应版本的MAUI工作负载,执行以下命令安装:
    dotnet workload install maui --sdk-version 6.0.100-rc.2.21505.57
  2. 若修改配置后仍报错,可以手动锁定MAUI相关包的版本,覆盖动态标记:
<ItemGroup>
  <PackageReference Include="Microsoft.Maui.Core" Version="6.0.100-rc.2.1683" />
  <!-- 其他用到的MAUI依赖包可同步指定对应RC2版本 -->
</ItemGroup>
  1. 临时方案可直接使用Visual Studio 2022 RC2的测试资源管理器执行测试,IDE会自动补全MAUI运行时的查找路径,避免命令行解析异常。

内容的提问来源于stack exchange,提问作者Brandon Minnick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:06:03