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
相关产品推荐
相关产品推荐

