Xamarin安卓项目添加PNG至Drawable目录触发IO异常求解决
解决Xamarin.Android添加PNG到Drawable目录后的IO异常问题
异常信息
Severity Code Description Project File Line Status Deleted
Error System.IO.IOException: The file name, directory name, or volume label syntax is incorrect.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound, WIN32_FIND_DATA& data)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Xamarin.Android.Tasks.RemoveDirFixed.RunTask() mvm_guia2.Android
排查与解决建议
- 检查PNG文件名合法性:Android资源文件名必须全小写,只能用下划线分隔,禁止空格、大写字母、
_/-以外的特殊字符。比如把Banner Image.png改成banner_image.png。 - 清理项目缓存:删除项目目录下的
bin和obj文件夹,再重新生成解决方案,清除编译产生的无效缓存文件。 - 验证目录路径:确认Drawable目录的路径没有超长(Windows系统路径长度限制通常为260字符)或包含非法字符,过长路径会触发IO异常。
- 检查文件权限:右键PNG文件取消“只读”属性,同时确保当前用户对项目目录拥有完整的读写权限,避免文件被锁定或无法访问。
- 重新导入图片:删除已添加的PNG文件,右键Drawable目录选择“添加”->“现有项”,重新选择图片完成导入,避免导入过程中出现路径错误。
- 更新Xamarin.Android版本:若使用旧版本框架,尝试升级到稳定版,部分旧版本存在资源处理的已知Bug。
内容的提问来源于stack exchange,提问作者David Torres
相关产品推荐
相关产品推荐

