2017-09-19 1 views
0

Im utilisant VisualStudio 2017 Community Edition. Je commence à développer Xamarin.Native en utilisant MVVMCross.C# Le type ou l'espace de noms 'Core' est introuvable. CS0246

Comme je l'ai commencé Il semble que j'ai rencontré un bug que je ne comprends pas.

C# The type or namespace 'Core' could not be found. CS0246 

Im regarder ce video-tutorials-mvvm-starterpack

je suivais attentivement les instructions et a rencontré le bug et j'ai même essayé de corriger le bug qui est déclaré here encore rien ne se passait.

Donc, c'est où le problème se produit dans Setup.cs sous mon Xamarin.Android.

using Android.Content; 
using MvvmCross.Droid.Platform; 
using MvvmCross.Core.ViewModels; 
using MvvmCross.Platform.Platform; 

namespace MVVMApp1.Droid 
{ 
    public class Setup : MvxAndroidSetup 
    { 
     public Setup(Context applicationContext) : base(applicationContext) 
     { 
     } 

     protected override IMvxApplication CreateApp() 
     { 
      return new Core.App(); // here problem lies the Core 
     } 

     protected override IMvxTrace CreateDebugTrace() 
     { 
      return new DebugTrace(); 
     } 
    } 
} 

Veuillez me guider dans la bonne direction.

Répondre

0

Dans votre code source, vous avez un espace de noms MvvmCross.Core qui peut entrer en conflit avec l'espace de noms YourApp.Core. Utiliser l'espace de noms complet:

return new MyApp.Core.App(); 
1

La ligne qui est à l'origine du problème tente d'instancier la classe App qui est situé dans le projet commun (ou noyau). Dans ce cas, le Core fait référence au projet principal de l'espace de noms contenant le code partagé si l'application. Il pourrait y avoir une mauvaise vision des choses ici:

  1. Assurez-vous de référencer votre projet principal à partir de vos projets Android et iOS;
  2. Vérifiez l'espace de noms de la classe App dans votre projet principal. MvvmCross StarterPack suppose qu'il est appelé <YourAppName>.Core (dans votre cas MVVMApp1.Core). Si vous avez utilisé un nom différent, mettez simplement l'appel à Core.App(); pour contenir l'espace de noms correct (notez que vous incluez également l'instruction using correcte et assurez-vous toujours que le projet est référencé, voir le point 1).

Espérons que cela aide. Si vous avez d'autres questions, n'hésitez pas à demander.