MissingManifestResourceException Sınıf

Tanım

Ana derleme nötr kültür için kaynakları içermiyorsa ve uygun bir uydu derlemesi eksikse, oluşan özel durum.

public ref class MissingManifestResourceException : Exception
public ref class MissingManifestResourceException : SystemException
public class MissingManifestResourceException : Exception
public class MissingManifestResourceException : SystemException
[System.Serializable]
public class MissingManifestResourceException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class MissingManifestResourceException : SystemException
type MissingManifestResourceException = class
    inherit Exception
type MissingManifestResourceException = class
    inherit SystemException
[<System.Serializable>]
type MissingManifestResourceException = class
    inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MissingManifestResourceException = class
    inherit SystemException
Public Class MissingManifestResourceException
Inherits Exception
Public Class MissingManifestResourceException
Inherits SystemException
Devralma
MissingManifestResourceException
Devralma
MissingManifestResourceException
Öznitelikler

Açıklamalar

.NET ve UWP uygulamalarında farklı nedenlerle MissingManifestResourceException özel durumu oluşturulur.

.NET uygulamaları

.NET uygulamalarında, nötr kültür için kaynak kümesi belirli bir derlemeden yüklenemediğinden kaynak alma girişimi başarısız olduğunda MissingManifestResourceException oluşturulur. Belirli bir kaynağı almaya çalıştığınızda bir özel durum ortaya çıkar, ancak bu durum, kaynağı bulamama yerine kaynak setinin yüklenememesi nedeniyle meydana gelir.

Note

Daha fazla bilgi için ResourceManager sınıfı konusundaki "MissingManifestResourceException Özel Durumunu İşleme" bölümüne bakabilirsiniz.

Özel durumun ana nedenleri şunlardır:

  • Kaynak kümesi tam adıyla tanımlanmaz. Örneğin, baseName yöntemi çağrısındaki ResourceManager.ResourceManager(String, Assembly) parametresi ad alanı olmayan kaynak kümesinin kök adını belirtiyorsa, ancak derlemesinde depolandığında kaynak kümesine bir ad alanı atanırsa, ResourceManager.GetString yöntemi çağrısı bu özel durumu oluşturur.

    Varsayılan kültürün kaynaklarını içeren .resources dosyasını yürütülebilir dosyanıza eklediyseniz ve uygulamanız bir MissingManifestResourceExceptionhatasına yol açıyorsa, kaynağın tam nitelikli adını belirlemek için gibi bir yansıma aracı olan IL Ayrıştırıcısı (Ildasm.exe) kullanabilirsiniz. ILDasm'da yürütülebilir dosyanın MANIFEST etiketine çift tıklayarak MANIFEST penceresini açın. Kaynaklar .mresource öğesi olarak görünür ve dış derleme başvurularının ve özel derleme düzeyi özniteliklerinin ardından listelenir. Ayrıca, adı komut satırı parametresi olarak geçirilen derlemedeki katıştırılmış kaynakların tam nitelikli adlarını listeleyen aşağıdaki basit yardımcı programı derleyebilirsiniz.

    using System;
    using System.IO;
    using System.Reflection;
    using System.Resources;
    
    public class Example
    {
       public static void Main()
       {
          if (Environment.GetCommandLineArgs().Length == 1) { 
             Console.WriteLine("No filename.");
             return;
          }
          
          string filename = Environment.GetCommandLineArgs()[1].Trim();
          // Check whether the file exists.
          if (!File.Exists(filename)) {
             Console.WriteLine("{0} does not exist.", filename);
             return;
          }   
          
          // Try to load the assembly.
          Assembly assem = Assembly.LoadFrom(filename);
          Console.WriteLine("File: {0}", filename);
             
          // Enumerate the resource files.
          string[] resNames = assem.GetManifestResourceNames();
          if (resNames.Length == 0)
             Console.WriteLine("   No resources found.");
    
          foreach (var resName in resNames)
             Console.WriteLine("   Resource: {0}", resName.Replace(".resources", ""));
    
          Console.WriteLine();
       }
    }
    
    Imports System.IO
    Imports System.Reflection
    Imports System.Resources
    
    Module Example
       Public Sub Main()
          If Environment.GetCommandLineArgs.Length = 1 Then 
             Console.WriteLine("No filename.")
             Exit Sub
          End If
          Dim filename As String = Environment.GetCommandLineArgs(1).Trim()
          ' Check whether the file exists.
          If Not File.Exists(filename) Then
             Console.WriteLine("{0} does not exist.", filename)
             Exit Sub
          End If   
          
          ' Try to load the assembly.
          Dim assem As Assembly = Assembly.LoadFrom(filename)
          Console.WriteLine("File: {0}", filename)
             
          ' Enumerate the resource files.
          Dim resNames() As String = assem.GetManifestResourceNames()
          If resNames.Length = 0 Then
             Console.WriteLine("   No resources found.")
          End If
          For Each resName In resNames
             Console.WriteLine("   Resource: {0}", resName.Replace(".resources", ""))
          Next
          Console.WriteLine()
       End Sub
    End Module
    
  • Kaynak kümesini yalnızca ad alanı ve kök dosya adı yerine kaynak dosya adıyla (isteğe bağlı ad alanıyla birlikte) ve dosya uzantısıyla tanımlarsınız. Örneğin, nötr kültürün kaynak kümesi GlobalResources olarak adlandırıldığında ve siz GlobalResources.resources yapıcı işlevinin GlobalResources parametresine baseNameyerine ResourceManager.ResourceManager(String, Assembly) değerini sağladığınızda, bu istisna meydana gelir.

  • Yöntem çağrısında tanımlanan kültüre özgü kaynak kümesi bulunamıyor ve geri dönüş kaynak kümesi yüklenemiyor. Örneğin, İngilizce (ABD) ve Rusya (Rusça) kültürleri için uydu derlemeleri oluşturursanız ancak nötr kültür için bir kaynak kümesi sağlamazsanız, uygulamanızın geçerli kültürü İngilizce (Birleşik Krallık) ise bu özel durum oluşur.

MissingManifestResourceException, 0x80131532 değerine sahip HRESULT COR_E_MISSINGMANIFESTRESOURCEkullanır.

MissingManifestResourceException, başvuru eşitliğini destekleyen varsayılan Equals uygulamasını kullanır.

MissingManifestResourceExceptionörneğinin ilk özellik değerlerinin listesi için bkz. MissingManifestResourceException oluşturucuları.

Note

Bir uydu derlemesi kullanılamıyorsa uygulamanız başarısız olmaz diye ana derlemenize nötr bir kaynak kümesi eklemenizi öneririz.

Oluşturucular

Name Description
MissingManifestResourceException()

Sınıfın MissingManifestResourceException yeni bir örneğini varsayılan özelliklerle başlatır.

MissingManifestResourceException(SerializationInfo, StreamingContext)
Geçersiz.

Serileştirilmiş verilerden sınıfının yeni bir örneğini MissingManifestResourceException başlatır.

MissingManifestResourceException(String, Exception)

Belirtilen bir hata iletisi ve bu özel durumun nedeni olan iç özel duruma başvuru ile MissingManifestResourceException sınıfının yeni bir örneğini başlatır.

MissingManifestResourceException(String)

Belirtilen hata iletisiyle MissingManifestResourceException sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu alır.

(Devralındığı yer: Exception)
HelpLink

Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar.

(Devralındığı yer: Exception)
HResult

Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT değerini alır veya ayarlar.

(Devralındığı yer: Exception)
InnerException

Geçerli özel duruma neden olan Exception örneğini alır.

(Devralındığı yer: Exception)
Message

Geçerli özel durumu açıklayan bir ileti alır.

(Devralındığı yer: Exception)
Source

Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar.

(Devralındığı yer: Exception)
StackTrace

Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır.

(Devralındığı yer: Exception)
TargetSite

Geçerli özel durumu oluşturan yöntemini alır.

(Devralındığı yer: Exception)

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetBaseException()

Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan Exception döndürür.

(Devralındığı yer: Exception)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.

Türetilmiş bir sınıfta geçersiz kılındığında, özel durumla ilgili bilgilerle SerializationInfo ayarlar.

(Devralındığı yer: Exception)
GetType()

Geçerli örneğin çalışma zamanı türünü alır.

(Devralındığı yer: Exception)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli özel durumun dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: Exception)

Ekinlikler

Name Description
SerializeObjectState
Geçersiz.

Özel durum hakkında serileştirilmiş veriler içeren bir özel durum durumu nesnesi oluşturmak için bir özel durum seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır

Ayrıca bkz.