xamarin xamarin.forms xamarin.android visual-studio-2017 nuget-package

xamarin - La actualización de Nuget provocó una excepción no controlada: System.TypeLoadException



xamarin.forms xamarin.android (3)

El problema se rastrea en github y solo provoca usuarios de Visual Studio 2017. Si compila la aplicación con Visual Studio 2019, la aplicación funciona bien con Xamarin.Forms 4.2.0.815419 (4.2.0 Service Release 2) .

Esto es causado por un cambio en Mono que lo convirtió en Xamarin.Android en VS2019 .

System.Collections.Generic.Queue está disponible en

C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/IDE/ReferenceAssemblies/Microsoft/Framework/MonoAndroid/v1.0/System.dll

y

C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/ReferenceAssemblies/Microsoft/Framework/MonoAndroid/v1.0/mscorlib.dll

No está disponible en

C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/IDE/ReferenceAssemblies/Microsoft/Framework/MonoAndroid/v1.0/mscorlib.dll

Entonces, si cualquier dll que se basa en Queue cumple con VS2019 y se ejecuta en VS2017, arrojará una excepción que no puede cargar Queue desde mscorlib.

Estoy comenzando una nueva página maestra de xamarin con fines de prueba y actualicé los paquetes nuget para la versión xamarin.android.support y xamarin.forms. Después, mi programa recibe la excepción:

LoadApplication obtiene el error de excepción:

base.OnCreate(savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); LoadApplication(new App()); Unhandled Exception: System.TypeLoadException: Could not load type of field ''Xamarin.Forms.Platform.Android.RendererPool:_freeRenderers'' (0) due to: Could not resolve type with token 01000275 from typeref (expected class ''System.Collections.Generic.Stack`1'' in assembly ''mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'') assembly:mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e type:System.Collections.Generic.Stack`1 member:(null) occurred


Pantalla de bienvenida que causa el bloqueo. La siguiente respuesta solucionó mi problema con los últimos formularios de xamarin (4.2.0.815419) y en VS 2019 Ent (16.3.1)

Chequea aquí


Reduzca xamarin.forms y xamarin.forms.maps a v4.1.0.778454 en todos los proyectos.

Lo hice y trabajé perfectamente.