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

如何为.NET 7 MAUI解决方案添加xUnit项目并解决构建错误?

解决方案

以下是针对你遇到的.NET 7 MAUI项目单元测试构建错误的具体解决步骤:

  • 清理项目资产与缓存

    1. 关闭Visual Studio
    2. 删除主MAUI项目和xUnit测试项目根目录下的obj和bin文件夹
    3. 删除本地NuGet缓存(Windows路径:%userprofile%\.nuget\packages;Mac/Linux路径:~/.nuget/packages),可仅删除与项目相关的包,也可清空整个缓存目录
  • 修正MAUI项目配置
    打开主MAUI项目的.csproj文件,确保包含MAUI核心配置属性,完整的PropertyGroup示例如下:

    <PropertyGroup>
        <TargetFrameworks>net7.0;net7.0-android33.0</TargetFrameworks>
        <OutputType Condition="'$(TargetFramework)' != 'net7.0'">Exe</OutputType>
        <UseMaui>true</UseMaui>
        <SingleProject>true</SingleProject>
        <!-- 保留原项目的ApplicationId、Version等其他属性 -->
    </PropertyGroup>
    

    缺失<UseMaui>true</UseMaui>会导致项目无法被识别为MAUI项目,进而引发目标框架兼容错误。

  • 重新还原NuGet包

    1. 打开Visual Studio并加载解决方案
    2. 右键点击解决方案,选择「还原NuGet包」;或在终端中进入解决方案目录,执行命令:
      dotnet restore
      
  • 调整测试项目的项目引用
    确保xUnit测试项目仅引用MAUI项目的net7.0目标框架,在测试项目的.csproj中修改项目引用节点:

    <ProjectReference Include="..\YourMauiProjectName\YourMauiProjectName.csproj">
        <SetTargetFramework>TargetFramework=net7.0</SetTargetFramework>
    </ProjectReference>
    

    替换YourMauiProjectName为实际的MAUI项目名称。

  • 检查NuGet包兼容性
    在NuGet包管理器中逐一检查项目依赖的包,确认所有包均支持.NET 7(net7.0)框架。对于不兼容的包,要么更新至支持net7.0的版本,要么替换为兼容的替代包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:23:13