1

Xamarin.Forms使用 Visual Studio 2019 开发了一个应用程序。它针对 iOS 和 Android。我目前正在开发Debug模式。

该应用程序包含许多svg使用插件加载的图像,FFImageLoading.Svg.Forms如下所示:

SvgCachedImage imageSearch = new SvgCachedImage
{
    Source = "resource://AppName.Resources.add_red.svg",
    WidthRequest = 25,
};

这些都保存在AppName/Resources文件夹下。每个项目的属性如下:

资源属性

这在 Android 模拟器、Android 手机和 iPhone 模拟器中都能完美运行,所有这些都处于Debug模式下。

我现在尝试在Release模式下创建一个 Android APK。

APK 安装到 Android 手机上。应用程序加载没有任何错误,但Resources文件夹中的所有项目都没有显示?显示所有其他元素。

我努力了:

  • 代码收缩器:无
  • 链接:SDK 和用户程序集

关于可能导致这种情况的任何想法或建议?

版本:

  • Xamarin.Essentials (1.3.1)
  • Xamarin.Forms (4.3.0.819712-pre2)
  • Xamarin.FFImageLoading.Svg.Forms (2.4.11.982)
4

2 回答 2

2

经过大量翻找并测试了许多不同的设置,解决方案是创建一个全新的解决方案。我找不到导致问题的设置:

  1. 创建一个新的 Xamarin Forms 项目。
  2. 将所有原始文件.cs.xaml文件复制到新的项目文件夹中。不要复制.csproj文件。
  3. 将所有资源重新添加到相应的文件夹中。

然后首先在Debug模式下测试应用程序,然后在Release模拟器中进行测试。所有 SVG 图形都正确加载。

最后,制作了一个存档和 APK,并在 Android 手机上进行了测试,一切都如预期般完美运行。

我完全不知道这个问题的实际原因,但这个解决方法确实救了我。

于 2019-10-10T11:05:46.560 回答
1

我有一个类似的问题。在我的特殊情况下,我使用 Dotfuscator 来发布 xamarin android 项目,一旦我禁用它,菜单项就会开始显示。

于 2019-11-20T21:41:57.670 回答