2016-12-08 2 views
0

Ich befolgte die Kurzanleitung zu Xamarin Forms und mein einziger Fehler ist: Fehler CS0103 Der Name 'InitializeComponent' existiert nicht im aktuellen Kontext.Xamarin InitializeComponent() kann nicht verwendet werden, wenn von Anwendung geerbt

Die app.xaml scheint nur diesen Fehler zu generieren, wenn die Klasse "App" von "Application" erbt, wenn ich es von ContentPage vererben, funktioniert es.

Die Buildaktion von app.xaml ist "Eingebettete Ressource" und das benutzerdefinierte Tool ist "MSBuild: UpdateDesignTimeXaml". Ich habe versucht, das benutzerdefinierte Tool auf der app.xaml auszuführen, aber es funktioniert nicht. Auch das Paket Xamarin.Forms wird auf die neueste Version aktualisiert und ich habe die app.xaml gelöscht und neu geschrieben.

Hat jemand eine Lösung dafür?

Ich benutze vs2015 Update 3 und Portable Klassenbibliotheken.

EDIT:

App.xaml.cs

using Xamarin.Forms; 
using Xamarin.Forms.Xaml; 

[assembly: XamlCompilation(XamlCompilationOptions.Compile)] 
namespace Phoneword 
{ 
public partial class App : Application 
{ 
    public App() 
    { 
     this.InitializeComponent(); 
     MainPage = new Phoneword.MainPage(); 
    } 

    protected override void OnStart() 
    { 
     // Handle when your app starts 
    } 

    protected override void OnSleep() 
    { 
     // Handle when your app sleeps 
    } 

    protected override void OnResume() 
    { 
     // Handle when your app resumes 
    } 
} 
} 

App.xaml

<?xml version="1.0" encoding="utf-8" ?> 
<Application xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     x:Class="PhoneWord.App"> 
<Label Text="{Binding MainText}" VerticalOptions="Center"  HorizontalOptions="Center" /> 
</Application> 
+0

Ich bekomme dieses Problem nicht an meinem Ende. Getestet mit VS2015 Update 3 und einer leeren Xaml App (Xamarin.Forms Portable). Haben Sie versucht, das PCL-Projekt zu entladen und erneut zu laden, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und "Entladen" auswählen und nach dem Entladen die Option "Neu laden" wählen. – jgoldberger

+0

Ich habe das mehrmals versucht, aber es funktioniert nicht. @jgoldberger –

Antwort

0

Sie geben nicht so viele Informationen, aber meine Vermutung ist, es gibt eine Nichtübereinstimmung zwischen den Basisklassen

sollte die XAML mit

<Application .... 
      x:Class="MyApp" > 

beginnen darauf hinweist, dass MeineAnw von Anwendung erbt.

der Code hinter sollte dies widerspiegeln auch:

public class MyApp : Application 

wenn beide Basistypen Mismatches, Sie sind in Schwierigkeiten.

+0

Ich habe meinen Code hinzugefügt. Es scheint keine Diskrepanz zu geben, ich habe schon halb googlen gesucht. –

Verwandte Themen