我创建了一个Xamarin.Android项目,并在设置配置后: -Dex编译器:D8 -代码收缩器:R8 -链接:仅限SDK装配 出现此错误:
Program type already present: android.support.annotation.PluralsRes
我也有LinkerPleaseInclude文件。
我必须说我处于Debug配置。
答案 0 :(得分:1)
我知道我来晚了,但由于此问题的答案对我不起作用,因此我将通过以下方式解决它:
首先,这显然是一个NuGet软件包问题,因此我在C:\ Users {yourUser} .nuget \ packages的.nuget文件夹中进行了搜索,并查看了一些文件夹(在我的情况下为Android支持库文件夹) ,并且看到该库摘录的许多版本都有文件夹,我在项目中所引用的那个版本是28.0.0.3,这是目前的最新版本,我在该文件夹中拥有的最新版本是28.0.0.1,因此,再次卸载并重新安装所有内容,我只是修改了android.csproj,更改了28.0.0.1的支持库的引用版本,然后又给出了另一个错误,我只是将其他一些库从Visual Studio NuGet包管理器降级为28.0.0.1然后一切正常。 有一个不错的。我花了数周时间才试图找出答案。
答案 1 :(得分:0)
我通过清除Nuget程序包的缓存解决了这个问题。
答案 2 :(得分:0)
以上两种解决方案都不适合我。我在打开在VS 2019上于VS 2015中创建的Xamarin项目时遇到错误。我将清单中的“使用android版本编译”更改为Android 9.0,更新了NuGet程序包,但此错误仍然存在。我也尝试删除“ .vs”,“ bin”和“ obj”文件夹。
最终摆脱“程序类型已存在:android.support.annotation.PluralsRes”错误的原因是删除了该项目的“ Packages”文件夹中的所有内容。我的理解是该目录在VS 2017中被淘汰,但想想是因为原始项目是VS 2015,所以该目录仍在使用中并引起冲突。
答案 3 :(得分:0)
我越来越 程序类型已存在:androidx.appcompat.content.res.AppCompatResources $ ColorStateListCacheEntry错误。
我有2个参考 a)Xamarin.AndroidX.Appcompat和 b)Xmarin.Androidx.appcompat.content.res.AppCompatResources
我删除了参考Xmarin.Androidx.appcompat.content.res.AppCompatResources 现在该项目的构建没有错误