我遇到了一个非常有趣的UWP" bug"。
我使用的是Xamarin.Forms 2.3.3.193,我需要列出设备中的联系人。 在UWP项目中,如果它在Debug中编译,一切正常,但如果它在Release中编译(当然Android和iOS工作正常),它就不再起作用。
这些是列出联系人的UWP服务的2行代码:
ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AllContactsReadOnly);
IReadOnlyList<Contact> contacts = await store.FindContactsAsync();
FindContactsAsync()方法在调试时返回列表,但在发布时返回null。
我还使用了James Montemagno的Xamarin.Plugin.Contacts,但遭遇了同样的命运。
此外,我尝试了提供here的解决方案而没有任何运气。
有什么建议吗?
答案 0 :(得分:0)
使用Compile with .NET Native tool chain
时可能会出现这种情况,这是属性&gt;中UWP应用的一个选项。构建&gt;项目的常规窗口。
尝试取消选中此选项。
您尝试do this,但它不适合您。这应该符合this article。
尝试更改 UWP项目中的 App.xaml.cs 文件,然后执行以下操作:
// 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);