Çalışma zamanında formunun .resources dosyası eriştiğinizde "System.Resources.MissingManifestResourceException" bir hata iletisi alabilirsiniz.

Makale çevirileri Makale çevirileri
Makale numarası: 318603 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Visual Basic .NET veya Visual Basic 2005, Visual C# .NET veya Visual J# .NET Windows uygulaması çalıştırıyorsanız, bir form yüklediğinizde aşağıdaki hata iletisini veya benzer bir alabilirsiniz:
Mscorlib.dll ' 'System.Resources.MissingManifestResourceException' türünde işlenmeyen bir özel durum oluştu

Ek bilgi: Belirtilen kültür (veya nötr kültür) için herhangi bir kaynağa uygun belirli bir derlemede bulunamadı. "Form1.resources", doğru katıştırılmış veya bağlantılı içine birleştirme "myApplication" olduğundan emin olun.

baseName: Form1 locationInfo: WindowsApplication4.Form1 kaynak dosyası adı: Form1.resources derleme: myApplication, sürüm 1.0.781.33026, culture = bağımsız, PublicKeyToken = = null
Sonu <a0>hata</a0> iletişim kutusunda tıklatın ve kodu tümleşik geliştirme ortamı (IDE) kullanıyorsanız, keşfetmelerine, ınitializecomponent deyimi içinde kod satırını, bu soruna neden olur. Örneğin, "Daha fazla bilgi" bölümünde oluşturduğunuz örnek, bir ımagelist denetimi ile birlikte bu hata oluşur. Hata iletisi, farklı bir denetime başvuruyor olabilir, ancak bu resources.GetObject hata iletisindeki kod satırını görünür dikkat edin:
this.imageList1.ImageStream ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); =

Neden

Bu sorun, ilk sınıfı <a0>Kod</a0> modülünde formun form sınıfının olmadığı için oluşur.

Not Bu sorunun bu makalenin belgeleri bir özel neden açın. Benzer sonuçlara yol açabilecek diğer durumlar olabilir.

Çözüm

Bu sorunu gidermek için <a0></a0>, formun sınıf tanımı sonra olacak şekilde tüm sınıf tanımlarının taşıyın.

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için <a0></a0>, projenin .resX dosyasının Kaynak dosya adı özelliğini değiştirin. Bunu yapmak için şu adımları izleyin:
  1. Visual Studio .NET 2003 veya Visual Studio 2005 başlatın.
  2. "Belirtiler" bölümünde açıklanan hata iletisini aldığınız yerelleştirilmiş form sınıfı içeren projeyi açın.
  3. Solution Explorer'da tüm klasörleri'ni genişletin.
  4. Form1.resX ' ı sağ tıklatın ve sonra da Properties ' i tıklatın.
  5. Özellik sayfaları Form1.resX iletişim kutusunda, Yapılandırma özellikleri ' ni genişletin ve Yönetilen kaynaklar altında Genel ' i tıklatın.
  6. Kaynak dosya adı özelliğini $(IntDir)/ <placeholder>. Form1.resources$ (IntDir) / <placeholder>.MyForm .resources ve sonra Tamam ' ı tıklatın.

    NotMyForm, yerelleştirilmiş form sınıfının sınıf adı için bir yer tutucudur.
  7. Projeyi kaydetmek için CTRL + ÜSTKRKT + S tuşlarına basın. Çözüm oluşturmak için CTRL + ÜST KRKT + K tuşlarına basın.Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    824495Düzeltme: Visual Studio .NET 2003'te bir bağlantılı kaynak eklediğinizde bir "MissingManifestResourceException" hata iletisi alıyorsunuz
  8. Uygulamayı çalıştırmak için F5 tuşuna basın. Uygulama çalıştırır ve form olarak görüntülenen Form1.
.

Durum

Bu davranış tasarım yüzündendir.

Daha fazla bilgi

Bir <a0>form</a0> kod modülü, birden çok sınıf içerebilir. Proje oluşturulduğunda, olu?turma sistemi .resources dosyası oluşturmak için kullanmanız gereken hangi sınıfı karar vermelisiniz. Proje olu?turma sistemi tasarımını birinci sınıf <a0>Kod</a0> modülünde, .resources dosyası temel sınıfı belirtir. .Resources dosyası bu sınıfına göre değil formun adını adı verilir. Çoğu durumda, bu iki adı aynıdır. Ancak, bu adlardan farklıysa, "Belirtiler" bölümünde açıklanan hata iletisini alırsınız.

Çalışma zamanında form yüklediğinizde, ınitializecomponent yöntemini nesneleri .resources dosyasından almak zorunda kalabilirsiniz. Derleme Form_Name .resources dosyasında ınitializecomponent arar. Ilk Form_Name .resources dosyası hiçbir zaman oluşturulduğu veya derlemesi için bağlantılı, .resources dosyası alma girişimi başarısız olur.

Davranışı Yeniden Oluşturma Adımları

  1. Visual Basic 2005, Visual C# .NET veya Visual J# .NET veya Visual Basic. NET'te, bir Windows uygulaması) projesi oluşturun. Form1, varsayılan. Not Visual Studio 2005 oluşturulur, aşağıdaki uyarı iletisini alırsınız:
    Bileşenleri Yerelleştirme modunda eklenemiyor. (Varsayılan) bileşenleri varsayılan forma dönmek için dil özelliğini seçin.
    Not Visual Basic 2005 kodunu değiştirmeniz gerekir. Windows Forms bir proje oluşturduğunuzda, varsayılan olarak, Visual Basic projesinin iki dosya oluşturur. Formun adı Form1 verilirse, formun temsil eden iki dosya Form1.vb ve Form1.Designer.vb olarak adlandırılır. Kodu, Form1.vb dosyasında yazın. Windows Forms Designer kod Form1.Designer.vb dosyaya yazar. Windows Forms Designer kısmi anahtar Form1 uygulamasının iki ayrı dosyaya bölmek için kullanır. Bu davranış, kodunuzu interspersed designer tarafından üretilen kod engeller.

    Yeni Visual Basic 2005 dil geliştirmeleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
    http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
    Kısmi sınıfları ve Windows Forms Tasarımcısı hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. Bir ımagelist denetimi Form1'e ekleyin.
  3. Bir simge dosyası ımagelist denetimi ekleyin.
  4. Form1 <a1>Kod</a1> modülünde Form1 tanım önce aşağıdaki kodu ekleyin: Visual Basic .NET:
    Public Class someClass
    End Class
    					
    Visual C# .NET ve Visual J#. NET'i:
    public class someClass
    {
    }
    					
  5. Projeyi derleyin. Proje başarıyla oluşturur dikkat edin.
  6. Projeyi çalıştırın. "Belirtiler" bölümünde açıklanan hata iletisini aldığınız dikkat edin.

Özellikler

Makale numarası: 318603 - Last Review: 11 Mayıs 2007 Cuma - Gözden geçirme: 4.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbvs2005applies kbvs2005swept kbprb KB318603 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:318603

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com