2017-09-06 15 views
0

Je rencontre un "bug" UWP très intéressant. J'utilise Xamarin.Forms 2.3.3.193 et ​​j'ai besoin de lister les contacts de l'appareil. Dans le projet UWP, tout fonctionne correctement s'il est compilé dans Debug, mais il ne fonctionne plus s'il est compilé dans Release (bien sûr, Android et iOS fonctionnent toujours bien).Xamarin UWP - Liste des contacts ne fonctionne pas si compilé en tant que version

Ce sont les 2 lignes de code du service UWP qui répertorie les contacts:

 ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AllContactsReadOnly); 
     IReadOnlyList<Contact> contacts = await store.FindContactsAsync(); 

Procédé FindContactsAsync() retourne la liste lorsque dans le débogage mais renvoie null lorsque la libération. J'ai également utilisé le Xamarin.Plugin.Contacts de James Montemagno, mais subit le même sort.

De plus, j'ai essayé la solution offerte here sans aucune chance.

Une suggestion?

Répondre

0

Ceci peut se produire lorsque vous utilisez le Compile with .NET Native tool chain qui est une option pour les applications UWP dans la fenêtre Propriétés > Build> General du projet.

Essayez de décocher cette option.

Vous avez essayé de do this mais cela n'a pas fonctionné pour vous. Cela devrait fonctionner selon this article.

Essayez de changer App.xaml.cs fichier dans votre projet UWP follwing ceci:

// 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 (ContactManager).GetTypeInfo().Assembly); 

Xamarin.Forms.Forms.Init(e, assembliesToInclude); 
// replaces Xamarin.Forms.Forms.Init(e); 
+0

Merci Wilson! Cela a sauvé ma journée. Le drapeau de compilation est resté vérifié, le coupable était l'assemblage manquant. Je me suis approché mais je n'ai pas essayé la bonne classe (ContactManager). –

+0

De rien! Je suppose que c'est pourquoi j'ai décidé de mettre le bon code :) –