Xamarin Android:数百个警告说要检查Nuget包是否兼容

时间:2017-12-11 14:02:05

标签: xamarin xamarin.android nuget nuget-package

我正在构建一个应用程序,我有一百个像这样的警告:“跳过TPProject.Resource.Drawable.ic_collapse_00000。请检查你的Nuget包版本是否兼容。”

我的编译/目标框架是Android 8.0,我的目标Android版本是6.0,我的最低Android版本是5.1。我已将所有Nuget软件包更新到最新版本。

怎么了?

Warnings

5 个答案:

答案 0 :(得分:5)

这确实摆脱了警告:

  • 更新Xamarin扩展
  • 清洁溶液
  • 构建解决方案

结果:所有警告均已消失,但Resource.designer.cs已被修改

public static void UpdateIdValues()
{
...
lot of new rows
...
}

答案 1 :(得分:3)

控制台中的错误似乎与自动添加的android SDK资源有关。也许尝试让VS重新生成资源文件,方法是在Android项目的资源目录中添加一个新文件(任何东西,你可以删除它)。如果这不起作用,请尝试将编译和目标版本明确地设置为8.0并执行相同的操作。

此外,我认为ic_cast_grey是Support v7 library的一部分,因此请确保您已将其包含在Nuget包列表中。

修改

您还应该通过以管理员身份运行SDK Manager来确保您的Android SDK内容是最新的(假设您已经在Windows上并将其安装到默认的Program Files目录中)。

我还读过,有时它有助于删除和重新添加软件包,以便刷新本地缓存。也许你也可以试试。

答案 2 :(得分:1)

我遇到了同样的问题,并将此条目添加到csproj中来解决此问题:

<AndroidUseManagedDesignTimeResourceGenerator>False</AndroidUseManagedDesignTimeResourceGenerator>

禁用managed tool并再次使用旧的aapt工具。

从Xamarin.Android 10.0.0.4开始,Visual Studio 2019版本16.3 Preview 2或Visual Studio 2019 for Mac版本8.3 Preview 2,Microsoft downgraded the warning to message/information附带。

因此,当16.3结束时,警告将消失,因为它们不是真正的问题。

答案 3 :(得分:0)

thisthisthat之类的来源都声明相同:

如果您的项目使用的Xamarin.Android.Support库版本与包含的NuGet软件包(使用特定的Xamarin.Android.Support库版本构建的软件包)不同,则会出现警告。不知道此行为是否已在较新的版本中得到解决,但否则您将被此警告所困扰。

您可以更改所有Xamarin.Android.Support库的库版本,但是如果包含许多NuGet软件包,则不可能全部使用同一版本。

升级Xamarin.Android.Support库并增加TargetFrameworkVersion后,出现了错误。另一个解决方案是将其降级,但是我不能,因为其他库依赖它。

答案 4 :(得分:0)

我知道这是一个老问题,但是最近我遇到了同样的问题。对我有用的解决方案是将最低Android版本更改为6.0:

如果您阅读Xamarin.Android.Support。*的Dependencies部分,则 NuGet软件包管理器中的库,您可以看到 Xamarin.Android.Support。* v28.0.0库仅支持 MonoAndroid,Version = v6.0到MonoAndroid,Version = v9.0。

简而言之; v28.0.0支持库适用于Android 6.0-9.0, 因此,在我们取消最低Android版本之前的警告...

https://forums.xamarin.com/discussion/128406/xamarin-forms-3-1-resources-warnings-for-android