Xamarin.forms: [UWP]本地安装时,模板应用程序的商店版本崩溃

创建于 2018-07-20  ·  3评论  ·  资料来源: xamarin/Xamarin.Forms

描述

.appxupload程序包安装时,为商店创建的Visual Studio Xamarin Forms UWP模板项目在启动时崩溃。

重现步骤

  1. 在Visual Studio 15.7.1中创建一个新的Xamarin-Froms项目
  2. 触发UWP项目的商店构建(使用本机编译)(商店->商店包装)
  3. 使用.appxupload软件包在本地安装App
  4. 该应用程序在启动时崩溃

预期行为

Xamarin Forms .appxupload文件在启动时不应崩溃并且可以测试。 这会在发布之前阻止Microsoft Store表单测试应用程序(如果需要),并阻止开发人员将需要测试的应用程序发布。

实际行为

一旦从UWP项目中删除了Xamarin.Forms.Init()(有效地删除了xf),则为存储而构建时,UWP不再崩溃。 发生在x86或x64构建上。 仅构建x86不会更改任何内容。

值得一提的是,_Test appxbundle可以完美地工作,只有商店appxupload遇到了问题。

基本信息

  • 有问题的版本:2.5。 ,3。
  • 最后一个已知的良好版本:-
  • IDE:VS 15.7.1
  • 平台目标框架:UWP(14393,15063 ...)
  • 受影响的设备:Windows 10 x86 / x64

复制链接

不需要,因为与Visual Studio捆绑在一起的模板项目会发生这种情况。

附加信息

https://bugzilla.xamarin.com/show_bug.cgi?id=59538
https://developercommunity.visualstudio.com/content/problem/150965/xamarin-forms-project-uwp-app-dies-on-start-when-i.html

上面的一些帖子解释了,即使本地安装.appxupload崩溃,从Microsoft商店下载并安装该软件包也不会出现问题。 我们这部分的问题是,由于桌面桥许可,在商店发布之前,我们的.appxupload软件包需要由Microsoft测试。 由于它在本地测试时崩溃,因此无法发布。

5 high impact UWP bug

最有用的评论

/ cc @krumelur

所有3条评论

当我在本地测试此异常时,在连接到调试器时看到的异常类似于此

https://stackoverflow.com/questions/50010855/could-not-load-file-or-assembly-system-private-corelib

我认为我们没有使用任何桌面扩展,但我们正在使用移动扩展,所以可能相关吗?

话虽如此,我按照这里的指示
https://docs.microsoft.com/zh-cn/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
要通过Package Project和该捆绑包创建一个项目,我可以在本地安装和运行(使用。\ Add-AppDevPackage.ps1 ),而不会出现任何问题。

其他想法
https://stackoverflow.com/questions/50216085/missing-system-assembly-in-appxupload-only

由于桌面桥权限,Microsoft在商店发布之前将其发布

@xabre,因为您正在使用桌面桥权限,您可以尝试使用UWP打包项目并将其提交给商店吗?
https://docs.microsoft.com/zh-cn/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
关于为什么的一些附加说明
https://stackoverflow.com/questions/50010855/could-not-load-file-or-assembly-system-private-corelib

有关此问题的一些探索性工作的一些补充说明

  • appxupload内的appxbundle尚未双击安装就绪。 该文件旁边没有安装许多依赖项,这就是为什么在本地运行时它会崩溃的原因。 如果在_test文件夹中运行ps1文件,您会看到它首先在appxbundle旁边安装了一些依赖项。

  • 根据我的发现,如果您创建一个完全原始的UWP项目(不带表单),并将“最小目标”设置为> = 16299,则appxupload中的appxbundle本身无法安装。 您可以将appxbundle复制到_test文件夹中,然后运行ps1文件,以便它同时安装依赖项,但仅双击该文件本身就无法进行功能安装。 无法安装该捆绑软件似乎与商店无法运行该应用程序有关

/ cc @krumelur

此页面是否有帮助?
0 / 5 - 0 等级