MissingManifestResourceException Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Exception levée si l’assembly principal ne contient pas les ressources de la culture neutre et qu’un assembly satellite approprié est manquant.
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
- Héritage
- Héritage
- Attributs
Remarques
Une exception MissingManifestResourceException est levée pour différentes raisons dans les applications .NET et UWP.
Applications .NET
Dans les applications .NET, l'exception MissingManifestResourceException est levée lorsque la tentative de récupération d’une ressource échoue, car la ressource définie pour la culture neutre n’a pas pu être chargée à partir d’un assembly particulier. Bien que l’exception soit levée lorsque vous essayez de récupérer une ressource particulière, elle est due à l’échec du chargement du jeu de ressources plutôt que de l’échec de la recherche de la ressource.
Note
Pour plus d'informations, consultez la section « Gestion de l'exception MissingManifestResourceException » dans le contexte de la classe ResourceManager.
Les principales causes de l’exception sont les suivantes :
L’ensemble de ressources n’est pas identifié par son nom complet. Par exemple, si le
baseNameparamètre de l’appel à la ResourceManager.ResourceManager(String, Assembly) méthode spécifie le nom racine du jeu de ressources sans espace de noms, mais que le jeu de ressources est affecté à un espace de noms lorsqu’il est stocké dans son assembly, l’appel à la ResourceManager.GetString méthode lève cette exception.Si vous avez intégré le fichier .resources contenant les ressources de la culture par défaut dans votre exécutable et que votre application génère une exception MissingManifestResourceException, vous pouvez utiliser un outil de réflexion tel que le Désassembleur IL (Ildasm.exe) pour déterminer le nom complet de la ressource. Dans ILDasm, double-cliquez sur l’étiquette MANIFEST de l’exécutable pour ouvrir la fenêtre MANIFEST . Les ressources apparaissent en tant qu'éléments
.mresourceet sont répertoriées après les références d'assemblage externe et les attributs personnalisés au niveau de l'assemblage. Vous pouvez également compiler l’utilitaire simple suivant, qui répertorie les noms complets des ressources incorporées dans l’assembly dont le nom est transmis en tant que paramètre de ligne de commande.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 ModuleVous identifiez la ressource définie par son nom de fichier de ressource (ainsi que son espace de noms facultatif) et son extension de fichier plutôt que par son espace de noms et son nom de fichier racine seul. Par exemple, cette exception est levée si le jeu de ressources de la culture neutre est nommé
GlobalResourceset que vous fournissez une valeur (GlobalResources.resourcesau lieu deGlobalResources) aubaseNameparamètre du ResourceManager.ResourceManager(String, Assembly) constructeur.Le jeu de ressources spécifique à la culture identifié dans un appel de méthode est introuvable et le jeu de ressources de secours ne peut pas être chargé. Par exemple, si vous créez des assemblys satellites pour les cultures Anglais (États-Unis) et Russe (Russe), mais que vous ne parvenez pas à fournir un ensemble de ressources pour la culture neutre, cette exception est levée si la culture actuelle de votre application est l’Anglais (Royaume-Uni).
MissingManifestResourceException utilise HRESULT COR_E_MISSINGMANIFESTRESOURCE, qui a la valeur 0x80131532.
MissingManifestResourceException utilise l’implémentation par défaut Equals , qui prend en charge l’égalité des références.
Pour obtenir la liste des valeurs de propriété initiales d’une instance de MissingManifestResourceException, consultez les MissingManifestResourceException constructeurs.
Note
Nous vous recommandons d’inclure un ensemble neutre de ressources dans votre assembly principal, afin que votre application ne échoue pas si un assembly satellite n’est pas disponible.
Constructeurs
| Nom | Description |
|---|---|
| MissingManifestResourceException() |
Initialise une nouvelle instance de la MissingManifestResourceException classe avec des propriétés par défaut. |
| MissingManifestResourceException(SerializationInfo, StreamingContext) |
Obsolète.
Initialise une nouvelle instance de la MissingManifestResourceException classe à partir de données sérialisées. |
| MissingManifestResourceException(String, Exception) |
Initialise une nouvelle instance de la MissingManifestResourceException classe avec un message d’erreur spécifié et une référence à l’exception interne qui est la cause de cette exception. |
| MissingManifestResourceException(String) |
Initialise une nouvelle instance de la MissingManifestResourceException classe avec le message d’erreur spécifié. |
Propriétés
| Nom | Description |
|---|---|
| Data |
Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception. (Hérité de Exception) |
| HelpLink |
Obtient ou définit un lien vers le fichier d’aide associé à cette exception. (Hérité de Exception) |
| HResult |
Obtient ou définit HRESULT, valeur numérique codée affectée à une exception spécifique. (Hérité de Exception) |
| InnerException |
Obtient l’instance Exception qui a provoqué l’exception actuelle. (Hérité de Exception) |
| Message |
Obtient un message qui décrit l’exception actuelle. (Hérité de Exception) |
| Source |
Obtient ou définit le nom de l’application ou de l’objet qui provoque l’erreur. (Hérité de Exception) |
| StackTrace |
Obtient une représentation sous forme de chaîne des images immédiates sur la pile des appels. (Hérité de Exception) |
| TargetSite |
Obtient la méthode qui lève l’exception actuelle. (Hérité de Exception) |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetBaseException() |
En cas de substitution dans une classe dérivée, retourne la Exception cause racine d’une ou plusieurs exceptions ultérieures. (Hérité de Exception) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Obsolète.
En cas de substitution dans une classe dérivée, définit l'SerializationInfo avec des informations sur l’exception. (Hérité de Exception) |
| GetType() |
Obtient le type d’exécution de l’instance actuelle. (Hérité de Exception) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Crée et retourne une représentation sous forme de chaîne de l’exception actuelle. (Hérité de Exception) |
Événements
| Nom | Description |
|---|---|
| SerializeObjectState |
Obsolète.
Se produit lorsqu’une exception est sérialisée pour créer un objet d’état d’exception qui contient des données sérialisées sur l’exception. (Hérité de Exception) |