Почему мои изображения Xamarin UWP не отображаются на устройстве?

Я разрабатываю приложение Xamarin UWP, используя ffimageloading. Изображения прекрасно отображаются в эмуляторе Windows Phone, который я запускаю через Visual Studio, но когда я развертываю его на устройстве через портал устройств, все изображения отсутствуют.

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

person ArbiterUnknown    schedule 19.05.2016    source источник
comment
Похоже, что это проблема только в релизных сборках.   -  person ArbiterUnknown    schedule 19.05.2016
comment
Пробовали ли вы проверить, является ли помощник причиной проблемы (он же: использование фиксированного пути в качестве источника)?   -  person Kai Brummund    schedule 19.05.2016
comment
Да, избавление от помощника и последующее добавление файла непосредственно в проект работает. Но само приложение работает очень медленно в релизных сборках, поэтому я подумал, что это может быть еще одна проблема. В итоге я отключил Compile with .NET Native tool chain на вкладке Build в Properties для конфигурации выпуска для основного приложения UWP, потому что так оно настроено в Debug.   -  person ArbiterUnknown    schedule 19.05.2016
comment
Релиз также не работал на эмуляторе, пока я не исправил эту проблему. Теперь релиз работает на эмуляторе, но я получаю сообщение об ошибке развертывания на своем устройстве: Причина сбоя: не удалось начать развертывание. Текст ошибки: Неудачный пакет обновлений, проверка зависимостей или конфликтов. (0x80073cf3)   -  person ArbiterUnknown    schedule 19.05.2016


Ответы (4)


Проблема заключалась в конфигурации сборки. Отключив параметр «Компилировать с помощью цепочки инструментов .NET Native» на вкладке «Сборка» свойств для конфигурации выпуска основного приложения UWP и развернув приложение с помощью WinAppDeployCmd.exe.

person ArbiterUnknown    schedule 20.05.2016

У меня была такая же проблема всякий раз, когда я сохранял файл изображения в любой папке (например, для активов). Но позже я начал хранить файл изображений в основной папке проекта; Я не хранил их ни в каких папках, и они начали появляться в приложении.

person Raxak    schedule 20.05.2016

Чтобы заставить работать «Компилировать с помощью цепочки инструментов .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);
person Daniel Luberda    schedule 12.08.2016

У меня также была проблема с изображениями, которые не отображались в моем приложении UWP. Изображения появлялись в моем проекте Android, но не UWP. Для меня решением было добавить расширение файла. По какой-то причине «myimage» работает на Android, но не на UWP, должен включать расширение файла, например «myimage.png». Просто хочу оставить это здесь для всех, кто потенциально может столкнуться с той же проблемой.

person SendETHToThisAddress    schedule 17.05.2020