Xamarin.forms: [UWP] La compilación de la tienda para la aplicación de plantilla se bloquea cuando se instala localmente

Creado en 20 jul. 2018  ·  3Comentarios  ·  Fuente: xamarin/Xamarin.Forms

Descripción

El proyecto de plantilla de Visual Studio Xamarin Forms UWP creado para la tienda se bloquea al iniciarse cuando se instala desde el paquete .appxupload .

Pasos para reproducir

  1. Cree un nuevo proyecto de Xamarin-Froms en Visual Studio 15.7.1
  2. Activar una compilación de tienda (con compilación nativa) para el proyecto de UWP (Tienda -> Paquete para tienda)
  3. Utilice el paquete .appxupload para instalar la aplicación localmente
  4. La aplicación se bloquea al iniciarse

Comportamiento esperado

El archivo .appxupload de Xamarin Forms no debería bloquearse al iniciarse y ser comprobable. Esto bloquea las aplicaciones de prueba de formularios de Microsoft Store antes de ser publicadas (en caso de que sea necesario) y bloquea a los desarrolladores para que no se publiquen sus aplicaciones que necesitan pruebas.

Comportamiento real

Tan pronto como Xamarin.Forms.Init () se quita del proyecto de UWP (eliminando efectivamente xf), UWP ya no se bloquea cuando se crea para la tienda. Ocurre para compilaciones x86 o x64. Compilar solo x86 no cambia nada.

Vale la pena mencionar que _Test appxbundle funciona perfectamente, solo la appxupload de la tienda tiene los problemas.

Información básica

  • Versión con problema: 2.5. , 3.
  • Última versión buena conocida: -
  • IDE: VS 15.7.1
  • Estructuras de destino de la plataforma: UWP (14393, 15063 ...)
  • Dispositivos afectados: Windows 10 x86 / x64

Enlace de reproducción

No es necesario, ya que esto sucede con el proyecto de plantilla incluido con Visual Studio.

información adicional

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

Algunas de las publicaciones anteriores explicaban que, aunque .appxupload se bloquea cuando se instala localmente, cuando se descarga e instala desde la tienda de Microsoft, el paquete se ejecutará sin problemas. Nuestro problema con esta parte es que Microsoft debe probar nuestro paquete .appxupload antes de que la tienda lo publique debido al permiso de puente de escritorio. Porque falla cuando se prueba localmente, no se puede publicar.

5 high impact UWP bug

Comentario más útil

/ cc @krumelur

Todos 3 comentarios

Cuando probé esto localmente, la excepción que vi cuando se adjuntó a un depurador se parecía a esto

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

No creo que estemos usando extensiones de escritorio, pero estamos usando extensiones móviles, ¿posiblemente relacionadas?

Dicho esto, seguí las instrucciones aquí.
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
Para crear un proyecto a través de un Proyecto de paquete y con ese paquete, puedo instalarlo y ejecutarlo localmente (usando . \ Add-AppDevPackage.ps1 ) sin ningún problema.

Pensamientos adicionales
https://stackoverflow.com/questions/50216085/missing-system-assembly-in-appxupload-only

Microsoft antes de la publicación de la tienda debido al permiso de puente de escritorio

@xabre porque está usando permisos de puente de escritorio, ¿puede intentar usar un proyecto de empaquetado de UWP y enviarlo a la tienda?
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
Algunas notas adicionales sobre por qué
https://stackoverflow.com/questions/50010855/could-not-load-file-or-assembly-system-private-corelib

Algunas notas adicionales de algunos trabajos exploratorios sobre este

  • El paquete de aplicaciones que se encuentra dentro de appxupload no está listo para instalar con doble clic. Hay una serie de dependencias que no se instalan junto con este archivo, por lo que se bloquea cuando se ejecuta localmente. Si ejecuta el archivo ps1 en la carpeta _test, verá que primero instala algunas dependencias junto con appxbundle.

  • Por lo que encontré Si crea un proyecto UWP completamente básico (sin formularios) y establece el objetivo mínimo en> = 16299, entonces el paquete de aplicaciones dentro de appxupload no se puede instalar por sí mismo. Puede copiar el appxbundle en la carpeta _test y luego ejecutar el archivo ps1 para que instale las dependencias al lado, pero el archivo en sí no es funcionalmente instalable con solo hacer doble clic en él. No poder instalar ese paquete no parece estar relacionado con que la tienda no pueda ejecutar la aplicación

/ cc @krumelur

¿Fue útil esta página
0 / 5 - 0 calificaciones