【问题标题】:Why are my Xamarin UWP Images not showing up on device?为什么我的 Xamarin UWP 图像没有显示在设备上?
【发布时间】:2016-09-16 20:38:01
【问题描述】:

我正在使用 ffimageloading 开发 Xamarin UWP 应用。这些图像在我通过 Visual Studio 运行的 Windows Phone 模拟器上显示得很好,但是当我通过设备门户将其部署到设备时,所有图像都丢失了。

 <ffimageloading:CachedImage Grid.Column="0" Grid.Row="1" 
    Source="{helpers:ImageResource MyProject.Assets.Images.music-doublenote.png}" />

【问题讨论】:

  • 看来这只是发布版本中的一个问题
  • 您是否尝试过检查是否是导致问题的助手(又名:使用固定路径作为源)?
  • 是的,摆脱了助手,然后将文件直接添加到项目中。但是应用程序本身在发布版本上运行速度也很慢,所以我认为这可能是另一个问题。我最终在“属性”的“构建”选项卡上关闭了“使用 .NET Native 工具链编译”,用于主 UWP 应用程序的发布配置,因为这是在 Debug 中配置的方式。
  • Release 在我修复该问题之前也无法在模拟器上运行。现在版本正在模拟器上运行,但我的设备出现部署错误:失败原因:无法开始部署。失败文本:包更新、依赖或冲突验证失败。 (0x80073cf3)

标签: image xamarin uwp windows-phone ffimageloading


【解决方案1】:

问题在于构建配置。通过关闭主 UWP 应用的发布配置的属性的构建选项卡上的“使用 .NET Native 工具链编译”并使用 WinAppDeployCmd.exe 部署应用

【讨论】:

    【解决方案2】:

    每当我将图像文件保存在任何文件夹中(例如资产)时,我都会遇到同样的问题。但后来我开始将图像文件保存在主项目文件夹中;我没有将它们保存在任何文件夹中,它们开始出现在应用程序中。

    【讨论】:

      【解决方案3】:

      要让“使用 .NET Native 工具链编译”工作,您必须使用 UWP 特定的 Forms.Init 调用重载,它允许正确包含 FFImageLoading 程序集以供 Xamarin.Forms 使用:

      // you'll need to add `using System.Reflection;`
      List<Assembly> assembliesToInclude = new List<Assembly>();
      
      //Now, add in all the assemblies your app uses
      assembliesToInclude.Add(typeof (FFImageLoadingAssembliesHere).GetTypeInfo().Assembly);
      
      //Also do this for all your other 3rd party libraries
      
      Xamarin.Forms.Forms.Init(e, assembliesToInclude);
      // replaces Xamarin.Forms.Forms.Init(e);
      

      【讨论】:

        【解决方案4】:

        我的 UWP 应用程序上也没有显示图像。这些图像显示在我的 Android 项目上,但没有显示在 UWP 上。对我来说,解决方案是添加文件扩展名。出于某种原因,“myimage”适用于 Android 但不适用于 UWP,必须包含“myimage.png”之类的文件扩展名。只是想把这个留在这里给其他可能遇到同样问题的人。

        【讨论】:

          猜你喜欢
          • 2018-08-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-20
          • 1970-01-01
          • 2017-05-13
          • 2021-10-10
          • 1970-01-01
          相关资源
          最近更新 更多