"Error retrieving parent for item" 的极端情况

Extreme case of "Error retrieving parent for item"

我的 Xamarin Android 项目不再编译,有几条错误消息说

Error APT0000: Error retrieving parent for item: No resource found that matches the given name 'Widget.Design.TabLayout'

之前抛出的其他错误也是同样的风格,只是说

No resource found that matches the given name (at 'textColor' with value '@color/md_white_1000')

我知道这是一个非常常见的 Xamarin 错误,通常通过清理和重建来修复,或者在极少数情况下,通过清除所有包和包缓存以便再次下载它们来修复。但是,这并没有解决我的错误。我也完全重新安装了 Xamarin 和 Visual Studio,但错误仍然存​​在。在这一点上,除了完全重新格式化我的 Mac.

之外,我真的不知道该怎么做

我是否遗漏了任何故障排除步骤?这是一个只存在于某些版本中的错误,所以我需要降级吗?请帮忙,因为我已经两天无法编译我的代码了。

日志显示应用找不到某些资源,例如 TabLayout 和@color/md_white_1000。

您是否安装了与 Android AppCompat 库相关的 NuGet 包?在 NuGet 包管理器中,搜索 AppCompat 库。例如:

https://www.nuget.org/packages/Xamarin.Android.Support.v7.AppCompat

这些是查找 AppCompat 资源和主题所必需的。

我找到了答案:显然最新版本的 Xamarin AppCompat 包已损坏。我能够通过从我的同事那里手动复制项目来再次编译,他没有更新他的包(包在我们的 .gitignore 中)。这解决了问题,也解释了为什么清除包缓存不起作用:Visual Studio 只是重新下载了损坏的包。