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

.NET MAUI从.NET 6升级至.NET 8后遇重复文件名构建错误求助

解决.NET MAUI升级到.NET8后重复图像文件名错误的方案

核心排查与修复步骤

错误提示明确指向Resources\AppIcon\edupay.png存在重复,按以下顺序逐一排查:

1. 检查文件系统中的隐性重复

  • 打开Resources\AppIcon目录,确认是否存在同名但大小写不同的文件(如Edupay.png和edupay.png),Windows文件系统默认不区分大小写,但MAUI资源校验逻辑会严格区分。
  • 排查是否有隐藏文件、版本控制残留的临时文件(如edupay.png~),这类文件可能被MAUI资源扫描逻辑误识别。

2. 修正项目文件的资源定义

  • 打开.csproj文件,搜索edupay.png,删除重复的<MauiImage>或<MauiIcon>条目。
  • 移除宽泛的资源通配符(如<MauiImage Include="Resources\**\*.png" />),改用精确路径避免跨目录匹配同名文件,示例:
    <!-- 仅包含Images目录下的图片资源 -->
    <MauiImage Include="Resources\Images\*.png" />
    <MauiImage Include="Resources\Images\*.svg" />
    <MauiImage Include="Resources\Images\*.jpg" />
    <!-- 单独定义AppIcon,避免与普通图片资源冲突 -->
    <MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" />
    

3. 彻底清理缓存并重建

  • 删除项目根目录下的bin和obj文件夹,清除旧生成缓存。
  • 执行命令强制清理重建:
    dotnet clean
    dotnet restore
    dotnet build
    

4. 检查AppIcon的特殊处理逻辑

  • .NET8 MAUI对AppIcon的处理逻辑有更新,确认Resources\AppIcon\edupay.png是否被同时标记为普通图片资源和应用图标,确保该目录下的文件仅通过<MauiIcon>定义。

5. 清理版本控制未跟踪文件

  • 若使用Git,执行git clean -fdx清理所有未跟踪的文件(执行前确认重要文件已备份),避免残留的临时文件干扰资源扫描。

内容的提问来源于stack exchange,提问作者Suhas M R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:01:00