2015-07-28 38 views
8

Ho un problema con una app Xamarin.Forms appena creata in Visual Studio 2015. Ho aggiunto i progetti Droid/iOS alla soluzione e mi sta dando un errore di generazione dicendo ...Il tipo o spazio dei nomi 'App' non esiste nello spazio dei nomi corrente

The type or namespace 'App' does not exist in the current namespace

Ecco un esempio di dove i due errori sono.

progetto Droid:

namespace MyApp.Droid 
{ 
    [Activity (Label = "MyApp", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 
    { 
     protected override void OnCreate (Bundle bundle) 
     { 
      base.OnCreate (bundle); 

      global::Xamarin.Forms.Forms.Init (this, bundle); 
       LoadApplication (new MyApp.App()); 
       //Error on the above line at MyApp.App() 
      } 
     } 
} 

progetto iOS:

namespace MyApp.iOS 
{ 
    [Register("AppDelegate")] 
    public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 
    { 
     public override bool FinishedLaunching(UIApplication app, NSDictionary options) 
     { 
      global::Xamarin.Forms.Forms.Init(); 
      LoadApplication (new MyApp.App()); 
      //Error on above line in MyApp.App() 
      return base.FinishedLaunching (app, options); 
     } 
    } 
} 

Questa soluzione è stata appena fatta e senza codifica ancora finito, questo potrebbe essere un problema con VS2015?

+0

i tuoi due progetti di piattaforma hanno un riferimento al progetto PCL di moduli condiviso? È qui che la classe App vive per impostazione predefinita. – Jason

risposta

13

Questo è un problema che esiste ancora. Anche se questa potrebbe non essere stata la soluzione a luglio, questa è la soluzione operativa per 31/3/16.

  • Pulire la soluzione
  • Costruire il PCL
  • Rimuovere il riferimento PCL dal progetto colpita (s)
  • aggiungere nuovamente il riferimento PCL
  • costruire

Questo anche succede a volte dopo aver aperto un file XAML e aver fatto ritorno a un file C# nel progetto PCL.

+2

Posso confermare che la soluzione descritta è funzionante come al momento della scrittura. –

+1

Ancora il caso in VS2017. Ancora una soluzione funzionante. Grazie. – Augure

+2

Non funziona :( – Eru

0

È necessario fare riferimento al progetto PCL Forms, lo farà per impostazione predefinita quando si crea il progetto a meno che non si crei singolarmente ciascun progetto. Basta fare clic destro sul progetto MyApp.Droid -> Aggiungi riferimento -> Soluzione -> Controlla MyApp (?!?!)

2

La risposta di @silencedmessage mi ha aiutato.

Anche se mi piacerebbe aggiungere che ho notato che tutti i miei progetti Xamarin non avevano nemmeno un riferimento PCL con cui iniziare. Ho iniziato con un modello di progetto XAML vuoto Xamarin Form per tutti i possibili obiettivi e non mi sono nemmeno preoccupato di controllare il riferimento al PCL, prima di leggere questa risposta.

Per farla breve: anche da un modello ufficiale vuoto è necessario controllare che il riferimento PCL sia aggiunto a tutti i progetti. Cose strane.

+1

Anche io ho trovato che fosse vero. Utilizzo di VS 2015 Enterprise Update 2 – mgoodric

Problemi correlati