我完成了一个xamarin表单应用程序,并将windows应用程序上传到windows商店。
然后我把它安装在windows设备上,但有些功能不起作用(图片上传、圆圈图像等(。本地应用程序运行良好,但windows商店中的应用程序存在一些问题。有人有同样的经历吗?
提前感谢
为了结束问题或标记为已回答,我发布了一个正式答案:
1( 可上传的包应为Release版本。
2( 在将软件包上传到商店之前,还应该在发布模式下进行测试。
3( 因为软件包的发布版本使用本机工具链和优化的代码构建,所以在调试和发布模式下结果可能不同。
4( 如果代码中的每件事看起来都是正确的,但错误仍然发生,请尝试清理解决方案并清空obj和bin文件夹
5( 还要检查发布模式下的输出窗口,或者检查哪行代码产生错误。
更新完整的解决方案:
对我来说,有3个功能在发布模式下不起作用。它们是:
-
圆形图片不起作用,所有图片均为方形格式。
-
图片上传不起作用。
-
图像弹出不起作用
解决方案
- 清理、重建和删除bin和obj文件夹解决了上传图片的问题
-
通过如下更改rg插件弹出的init代码,解决了图片弹出的问题。
Rg.Plugins.Popup.Popup.Init(); Xamarin.Forms.Forms.Init(e);
通过以下代码更改上述代码:
Rg.Plugins.Popup.Popup.Init();
Xamarin.Forms.Forms.Init(e, Rg.Plugins.Popup.Popup.GetExtraAssemblies());
3.通过以下代码解决了圆圈图像问题:
var rendererAssemblies = new[]
{
typeof(ImageCircleRenderer).GetTypeInfo().Assembly
};
Xamarin.Forms.Forms.Init(e, rendererAssemblies);
但无法呼叫Xamarin。表格。使用不同的程序集初始化两次。所以我将两个init代码合并如下
var rendererAssemblies = new List<Assembly>
{
typeof(ImageCircleRenderer).GetTypeInfo().Assembly
};
rendererAssemblies.AddRange(Rg.Plugins.Popup.Popup.GetExtraAssemblies());
Rg.Plugins.Popup.Popup.Init();
Xamarin.Forms.Forms.Init(e, rendererAssemblies);