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

Windows端Visual Studio中Xamarin.iOS项目Assets.xcasset保存失败咨询

解决Xamarin.iOS在VS中添加1024 App Store图标时的保存报错问题

我之前在Visual Studio里做Xamarin.iOS开发时,也碰到过一模一样的Assets.xcasset保存报错问题,给你几个亲测有效的解决思路:

方法1:手动修改Assets配置文件(最靠谱的绕开方案)

VS的Assets.xcasset编辑器有时候会有线程同步的bug,直接手动改配置文件能完美避开:

  • 找到你项目里的Assets.xcasset文件夹,进入里面的AppIcon.appiconset目录(或者你的自定义图标集目录)
  • 打开目录里的Contents.json文件,在images数组末尾添加1024图标的配置项:
    {
      "size": "1024x1024",
      "idiom": "ios-marketing",
      "filename": "AppStoreIcon.png",
      "scale": "1x"
    }
    
  • 把你准备好的1024x1024 PNG图标放进这个AppIcon.appiconset目录,确保文件名和上面配置里的filename完全一致
  • 回到Visual Studio,右键你的项目选择重新加载项目,这样VS会直接读取修改后的配置,不需要通过编辑器保存,也就不会触发那个枚举错误了

方法2:清除VS缓存修复编辑器问题

如果还是想用VS的可视化编辑器操作,可以试试清除VS的组件缓存:

  • 先关闭Assets.xcasset的编辑窗口,然后完全退出Visual Studio
  • 打开文件资源管理器,输入路径%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache(比如VS2022的版本号可能是17.0_xxxxxx),删除这个目录下的所有文件
  • 重启Visual Studio,重新打开项目后再尝试添加1024图标,这时候编辑器的缓存已经重置,大概率不会再报“Collection has been modified”的错误了

方法3:绕过本地项目,直接在App Store Connect上传图标

如果上面两种方法都没解决,你可以换个思路:

  • 先忽略1024图标的问题,正常构建并上传IPA包到App Store Connect
  • 登录App Store Connect后台,进入你的应用页面,找到App信息板块,在图标区域直接上传1024x1024的PNG图标,这样也能满足苹果的要求,不用在本地项目里折腾编辑器的bug

为什么会出现这个错误?

本质是Visual Studio的Xamarin.iOS Assets编辑器存在线程同步问题:当你在可视化界面添加图标时,后台正在执行的枚举操作和你的修改操作冲突,导致抛出“Collection has been modified; enumeration operation may not execute”的异常,手动修改配置或者清除缓存都能绕开这个bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:29:16