MissingManifestResourceException Kelas

Definisi

Pengecualian yang dilemparkan jika rakitan utama tidak berisi sumber daya untuk budaya netral, dan perakitan satelit yang sesuai hilang.

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
Warisan
MissingManifestResourceException
Warisan
MissingManifestResourceException
Atribut

Keterangan

Pengecualian MissingManifestResourceException dilemparkan karena alasan yang berbeda di aplikasi .NET versus UWP.

Aplikasi .NET

Di aplikasi .NET, MissingManifestResourceException dilemparkan ketika upaya untuk mengambil kumpulan sumber daya gagal karena kumpulan sumber daya untuk budaya netral tidak dapat dimuat dari suatu assembly tertentu. Meskipun pengecualian dilemparkan ketika Anda mencoba mengambil sumber daya tertentu, itu disebabkan oleh kegagalan untuk memuat kumpulan sumber daya daripada kegagalan menemukan sumber daya.

Note

Untuk informasi tambahan, lihat bagian "Menangani Pengecualian MissingManifestResourceException" di topik kelas ResourceManager.

Penyebab utama pengecualian termasuk yang berikut:

  • Kumpulan sumber daya tidak diidentifikasi dengan nama lengkapnya. Misalnya, jika parameter baseName dalam panggilan ke metode ResourceManager.ResourceManager(String, Assembly) menentukan nama akar kumpulan sumber daya tanpa namespace, tetapi kumpulan sumber daya diberi namespace ketika disimpan dalam perakitannya, panggilan ke metode ResourceManager.GetString melemparkan pengecualian ini.

    Jika Anda telah menyematkan file .resources yang berisi sumber daya budaya default di executable dan aplikasi Anda melemparkan MissingManifestResourceException, Anda dapat menggunakan alat pantulan seperti IL Disassembler (Ildasm.exe) untuk menentukan nama sumber daya yang sepenuhnya memenuhi syarat. Di ILDasm, klik dua kali label MANIFEST yang dapat dieksekusi untuk membuka jendela MANIFEST. Sumber daya muncul sebagai item .mresource dan dicantumkan setelah referensi rakitan eksternal dan atribut tingkat rakitan khusus. Anda juga dapat mengkompilasi utilitas sederhana berikut, yang mencantumkan nama lengkap sumber daya tersemat dalam assembly yang namanya diteruskan sebagai parameter baris perintah.

    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
    
  • Anda mengidentifikasi himpunan sumber daya dengan nama file sumber dayanya (bersama dengan namespace opsionalnya) dan ekstensi filenya, bukan hanya dengan namespace dan nama file induknya. Misalnya, pengecualian ini dilemparkan jika set sumber daya budaya netral diberi nama GlobalResources dan Anda memberikan nilai GlobalResources.resources (bukan GlobalResources) ke parameter baseName konstruktor ResourceManager.ResourceManager(String, Assembly).

  • Set sumber daya khusus budaya yang diidentifikasi dalam panggilan metode tidak dapat ditemukan, dan set sumber daya cadangan tidak dapat dimuat. Misalnya, jika Anda membuat rakitan satelit untuk budaya Inggris (Amerika Serikat) dan Rusia (Rusia) tetapi Anda gagal menyediakan set sumber daya untuk budaya netral, pengecualian ini dilemparkan jika budaya aplikasi Anda saat ini adalah Inggris (Inggris).

MissingManifestResourceException menggunakan COR_E_MISSINGMANIFESTRESOURCEHRESULT , yang memiliki nilai 0x80131532.

MissingManifestResourceException menggunakan implementasi Equals default, yang mendukung kesetaraan referensi.

Untuk daftar nilai properti awal untuk instance MissingManifestResourceException, silakan lihat konstruktor MissingManifestResourceException.

Note

Kami menyarankan agar Anda menyertakan sekumpulan sumber daya netral di assembly utama Anda, sehingga aplikasi Anda tidak akan gagal jika rakitan satelit tidak tersedia.

Konstruktor

Nama Deskripsi
MissingManifestResourceException()

Menginisialisasi instans MissingManifestResourceException baru kelas dengan properti default.

MissingManifestResourceException(SerializationInfo, StreamingContext)
Kedaluwarsa.

Menginisialisasi instans baru kelas MissingManifestResourceException dari data yang diserialisasikan.

MissingManifestResourceException(String, Exception)

Menginisialisasi instans MissingManifestResourceException baru kelas dengan pesan kesalahan tertentu dan referensi ke pengecualian dalam yang merupakan penyebab pengecualian ini.

MissingManifestResourceException(String)

Menginisialisasi instans MissingManifestResourceException baru kelas dengan pesan kesalahan yang ditentukan.

Properti

Nama Deskripsi
Data

Mendapatkan kumpulan pasangan kunci/nilai yang memberikan informasi tambahan yang ditentukan pengguna tentang pengecualian.

(Diperoleh dari Exception)
HelpLink

Mendapatkan atau mengatur tautan ke file bantuan yang terkait dengan pengecualian ini.

(Diperoleh dari Exception)
HResult

Mendapatkan atau mengatur HRESULT, nilai numerik berkode yang ditetapkan ke pengecualian tertentu.

(Diperoleh dari Exception)
InnerException

Mendapatkan instans Exception yang menyebabkan pengecualian saat ini.

(Diperoleh dari Exception)
Message

Mendapatkan pesan yang menjelaskan pengecualian saat ini.

(Diperoleh dari Exception)
Source

Mendapatkan atau mengatur nama aplikasi atau objek yang menyebabkan kesalahan.

(Diperoleh dari Exception)
StackTrace

Mendapatkan representasi string dari bingkai langsung pada tumpukan panggilan.

(Diperoleh dari Exception)
TargetSite

Mendapatkan metode yang melemparkan pengecualian saat ini.

(Diperoleh dari Exception)

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetBaseException()

Ketika ditimpa di kelas turunan, mengembalikan Exception yang merupakan akar penyebab dari satu atau beberapa pengecualian berikutnya.

(Diperoleh dari Exception)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetObjectData(SerializationInfo, StreamingContext)
Kedaluwarsa.

Saat ditimpa di kelas turunan, mengatur SerializationInfo dengan informasi tentang pengecualian.

(Diperoleh dari Exception)
GetType()

Mendapatkan jenis runtime instans saat ini.

(Diperoleh dari Exception)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Membuat dan mengembalikan representasi string dari pengecualian saat ini.

(Diperoleh dari Exception)

Acara

Nama Deskripsi
SerializeObjectState
Kedaluwarsa.

Terjadi ketika pengecualian diserialisasikan untuk membuat objek status pengecualian yang berisi data berseri tentang pengecualian.

(Diperoleh dari Exception)

Berlaku untuk

Lihat juga