Ich habe ein Xamarin-Formular (Ich benutze Xamarin Studio 5.7) mit einem allgemeinen PCL, der UI-Komponenten enthält. Ich habe nur Klassen (keine XAML-Designer) verwendet, um mein Projekt zu starten. Es funktioniert gut, kompiliert und hat eine Inhaltsseite mit einigen Unterseiten. Ich entschied, dass ich eine neue Datei "AboutPage.xaml" und "AboutPage.cs" hinzufügen und die Benutzeroberfläche verwenden würde, um meine Formulare zu bearbeiten. Also, ich habe meine neue Seite über Neue Datei erstellt ... Forms ContentPage XAML ..... Wie oben erwähnt, erstellt es meine zwei Dateien.
ÜberPage.cs ÜberPage.xaml
Die resultierenden Dateien sehen so aus ...
ÜberPage.cs
%Vor%ÜberPage.xaml
%Vor%Nun, das scheint in Ordnung zu sein und ich habe sichergestellt, dass meine Klassendeklaration den Namespace enthält. Wenn ich jedoch kompiliere, sieht die resultierende AboutPage.xaml.g.cs-Datei folgendermaßen aus ... Beachten Sie, wie die using-Anweisungen in dem Namespace und nicht an dem Anfang der Datei enthalten sind. Leider ist das nicht kompilierbar.
Was habe ich hier falsch gemacht?
%Vor%Dies führt zu den folgenden Fehlern
%Vor%Also, dann dachte ich mir vielleicht, dass es den Schwanz meines Namespace (IPSND.Xamarin) mit dem Kopf der Verwendung für die Xamarin.Forms Namespaces verwechselte ... Also änderte ich meinen Namespace auf dieser Formulargruppe (sowohl die .cs-Namespace und die XAML-Klassendeklaration) als IPSND.Test. Dies führte leider zu den gleichen Fehlern.
Offenbar, wie Jason in den Kommentaren darauf hingewiesen hat, ist diese Konfiguration der Verwendung der using-Anweisungen nicht nur erlaubt, sondern gemäß diesem Dokument hier , ist für die generierte Datei vorgesehen. Also, ich denke, der Kern dieses Problems könnte mehr mit meinen Referenzen für Xamarin.Forms in der PCL-Bibliothek zusammenhängen (so ähnlich wie der Fehler sagt). Unter Verwendung des oben genannten Dokuments ging ich in meine .cs und .xaml-Dateien und ließ sie genau übereinstimmen (ohne Verwendung von Anweisungen und keine Vererbung von ContentPage in der partiellen Deklaration, aber das half nicht .... noch nicht .
Okay, Kredit für Jason ..... er war auf dem richtigen Weg und hat es genagelt .... Mein Namensraum von IPSND.Xamarin war das Problem. Es war nicht das Problem, nur den Namespace für dieses spezielle XAML / CS zu ändern, sondern am Ende mit meinem Projektnamespace 'Xamarin'. Ich habe eine Kopie meines gesamten Projekts erstellt und alles in IPSND.X verschoben und alles kompiliert.
Tags und Links android c# xamarin.forms xamarin portable-class-library