2016-05-19 2 views
0

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

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

оказывается, что это только вопрос в выпуске строит – ArbiterUnknown

+0

вы пробовали проверки если это помощник, это вызывает проблему (aka: Использование фиксированного пути как источника)? –

+0

Да, избавиться от помощника, а затем добавить файл непосредственно в проект. Но само приложение работает очень медленно на сборках релизов, поэтому я подумал, что это может быть еще одна проблема. Я закончил тем, что отключил «Скомпилировать с цепочкой инструментов .NET Native» на вкладке «Сборка» свойств для конфигурации выпуска для основного приложения UWP, потому что именно так он настроен в Debug. – ArbiterUnknown

ответ

0

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

2

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

0

Чтобы получить «Скомпилировать с помощью единой цепи инструментов .NET», работать вы должны использовать 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); 
Смежные вопросы