2017-02-17 4 views
1

Ich benutze MvvmCross und Xamarin Support-Bibliotheken in meinem Projekt und, nachdem ich aktualisiert MvvmCross von Version 4.2.0 zu 4.4.0 und Xamarin Support Packages von Version 23.3.0 zu 25.1.1 Ich kann das Projekt nicht ausführen. Die App stürzt immer in SplashScreen mit Fehler ab: Standardkonstruktor für Typ MvvmCross.Platform.IoC.MvxPropertyInjector nicht gefunden. Der Fehler tritt im Debug-Modus und im Release-Modus auf. Mein SplashscreenStandardkonstruktor nicht gefunden für Typ MvxPropertyInjector

:

[Activity(Icon = "@drawable/ic_launcher", 
     Theme = "@style/InflorTheme.Splash", 
     NoHistory = true, 
     MainLauncher = true, 
     ScreenOrientation = ScreenOrientation.Portrait)] 
    public class SplashScreen : MvxSplashScreenActivity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 

       base.OnCreate(bundle); 
     } 
    } 

Antwort

1

Fügen Sie Folgendes in Ihre LinkerPleaseInclude Datei:

public void Include(MvvmCross.Platform.IoC.MvxPropertyInjector injector) 
{ 
    injector = new MvvmCross.Platform.IoC.MvxPropertyInjector(); 
} 

Sie könnten für den Linker andere Hinweise müssen nicht nicht Code wegzuwerfen, die nur durch Reflexion aufgerufen wird.

+0

Ich habe das gleiche Problem im Moment, passierte nach dem Upgrade von Java und Android APIs. Für Anfänger gibt es keine LinkerPleaseInclude.cs-Datei mehr (wurde nicht hinzugefügt, als ich mvvmcross hinzugefügt), Hinzufügen dieses Codes manuell scheint nichts zu tun (Dies war die Lösung für das gleiche Problem, vor 2 Jahren). versucht [dies] (http://stackoverflow.com/questions/23581846/xamarin-linker-default-constructor-not-for-type-cirrious-crosscore-ioc-m/). Ich weiß, dass das Problem in der Verknüpfung von Assemblys liegt, aber selbst wenn ich das auf keinen setze, bleibt das gleiche Problem bestehen. – SilentStorm

+0

Von [changelog] (https://developer.android.com/about/versions/nougat/android-7.0-changes.html): "Ab Android 7.0 verhindert das System, dass Apps dynamisch mit Nicht-NDK-Bibliotheken verknüpft werden. Diese Verhaltensänderung zielt darauf ab, eine konsistente App-Erfahrung für Plattform-Updates und verschiedene Geräte zu schaffen.Obwohl Ihr Code möglicherweise nicht mit privaten Bibliotheken verknüpft ist, ist es möglich, dass sich in Ihrer App eine statische Bibliothek eines Drittanbieters befindet könnte es tun. " Hast du was dazu? – SilentStorm

+0

Dies ist C# -Code, der vom _mono_ Linker weggeleitet wird. – Cheesebaron

Verwandte Themen