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

MAUI Android构建报错APT2144:无效文件路径,删bin/obj无效

解决MAUI Android构建时的APT2144无效文件路径错误

针对你遇到的APT2144错误,以及csproj中自动生成文件移除项的问题,可尝试以下方案:

1. 强制指定资源构建类型

手动在csproj中明确设置目标文件的构建操作,覆盖自动生成的Remove项。打开项目的csproj文件,添加以下代码(替换对应文件路径):

<ItemGroup>
  <!-- 强制将SVG识别为MAUI图片资源 -->
  <MauiImage Include="Resources\Images\backicon.svg" />
  <!-- 移除自动生成的无效配置 -->
  <MauiImage Remove="Resources\Images\backicon.svg" />
  <None Remove="Resources\Images\backicon.svg" />
</ItemGroup>

注意:确保Include语句在Remove语句之前,优先生效。

2. 彻底清理构建缓存

除删除bin和obj文件夹外,执行以下操作:

  • 运行命令行指令:dotnet clean -all,彻底清理项目所有构建缓存
  • 删除本地MAUI相关缓存目录:%LOCALAPPDATA%\Microsoft\MAUI 和 %LOCALAPPDATA%\Xamarin
  • 重启Visual Studio,避免残留进程占用文件

3. 检查文件路径与格式

  • 验证文件实际路径与报错路径一致,注意大小写匹配(Android构建工具对大小写敏感,即使Windows系统不区分)
  • 避免文件名包含空格、特殊字符(如中文、符号),尽量使用英文字母和下划线命名
  • 测试SVG文件是否损坏:用浏览器打开确认能正常显示,或重新用设计工具导出标准SVG格式

4. 调整项目默认资源配置

检查csproj中的默认资源通配符配置,确保目标文件被正确包含:

<ItemGroup>
  <!-- 默认包含所有Images目录下的文件 -->
  <MauiImage Include="Resources\Images\**" />
  <!-- 若部分SVG无需作为图片资源,可在此排除 -->
  <MauiImage Remove="Resources\Images\backicon.svg" />
</ItemGroup>

删除自动生成的<None Remove>项,避免重复配置冲突。

5. 更新依赖组件

  • 在Visual Studio的NuGet包管理器中,更新Microsoft.Maui.Controls及相关依赖到最新稳定版本
  • 打开Android SDK Manager,安装最新的Android 34(或对应版本)构建工具与平台组件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:32:23