2015-07-28 17 views
8

Visual Studio 2015'te yeni yapılmış bir Xamarin.Forms uygulamasıyla ilgili bir sorun yaşıyorum. Çözüme Droid/iOS projeleri ekledim ve bana veriyor diyerek yapı hatası ... İşteGeçerli ad alanında 'Uygulama' türü veya ad alanı yok

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

iki hata nerede bir örnektir.

Droid projesi:

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() 
      } 
     } 
} 

iOS projesi:

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); 
     } 
    } 
} 

Bu çözüm sadece yapıldığı ve hiçbir kodlama bu VS2015 ile bir sorun olabilir, henüz bitmiş?

+0

İki platform projenizin paylaşılan Forms PCL projesine bir referansı var mı? App sınıfının varsayılan olarak burada olduğu yerdir. – Jason

cevap

13

Bu, hala var olan bir sorundur. Bu, Temmuz ayında çözüme kavuşmamış olsa da, bu, 3/31/16 için çalışan bir çözümdür.

  • Temiz çözüm
  • PCL
  • kurmak etkilenen proje (ler)
  • PCL referansı
  • yeniden ekleyin gelen PCL referansı çıkarın da

Bu İnşa bazen bir XAML dosyasını açtıktan ve PCL projesinde bir C# dosyasına geçtikten sonra olur.

+2

Tanımlanan geçici çözümün yazma sırasında çalıştığını doğrulayabilirim. –

+1

Hala VS2017'de durum. Hala çalışan bir çözüm. Teşekkür ederim. – Augure

+2

Çalışmıyor :( – Eru

0

Forms PCL projesine başvurmanız gerekir, her bir projeyi ayrı ayrı oluşturmazsanız, projeyi oluşturduğunuzda varsayılan olarak bunu yapar. MyApp.Droid projesine sağ tıklayın -> Add Reference -> Solution -> MyApp'ı Kontrol Edin (?!?!)

2

@silencedmessage'ın yanıtı bana yardımcı oldu.

Buna ek olarak, tüm Xamarin projelerinin başlangıçta bir PCL referansının bile olmadığını fark ettim. Tüm olası hedefler için boş bir Xamarin Forms XAML proje şablonu ile başladım ve bu cevabı okumadan PCL'ye yapılan referansı kontrol etmeyi bile zahmet etmedim.

Uzun öykün kısa: Boş bir resmi şablondan bile PCL referansının tüm projelere eklendiğini kontrol etmelisiniz. Acayip şeyler.

+1

Ben de bunun doğru olduğunu buldum VS 2015 Enterprise Update 2'yi kullanma – mgoodric