程序类型已经存在:Xamarin.Android项目中的android.support.annotation.PluralsRes错误

时间:2019-07-04 11:02:33

标签: android xamarin xamarin.android linker

我创建了一个Xamarin.Android项目,并在设置配置后: -Dex编译器:D8 -代码收缩器:R8 -链接:仅限SDK装配 出现此错误:

Program type already present: android.support.annotation.PluralsRes

我也有LinkerPleaseInclude文件。

我必须说我处于Debug配置。

4 个答案:

答案 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 现在该项目的构建没有错误