64 votes

La description de l'événement de la source est introuvable

Lorsque j'écris un journal dans le journal des événements de Windows, j'obtiens l'événement ci-dessous. Quelle est la cause première de ce message, et comment puis-je le réparer ? Merci beaucoup.

La description de l'événement ID 51001 de la source RRWS ne peut être trouvée. Soit le composant qui soulève cet événement n'est pas installé sur votre ordinateur ordinateur local ou l'installation est corrompue. Vous pouvez installer ou réparer le composant sur l'ordinateur local.

Si l'événement provient d'un autre ordinateur, les informations d'affichage devaient être sauvegardées avec l'événement.

Les informations suivantes ont été incluses avec l'événement :

message du journal de test

la ressource message est présente mais le message n'est pas trouvé dans la table des chaînes/messages

32voto

Matt Points 367

J'ai obtenu cette erreur après avoir créé une source d'événements sous le journal des applications à partir de la ligne de commande en utilisant "EventCreate". Cette commande crée une nouvelle clé sous : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application

Si vous regardez la clé qui a été créée (par exemple SourceTest), il y aura une valeur de chaîne appelée EventMessageFile qui, pour moi, était réglé sur %SystemRoot%\System32\EventCreate.exe .

Changez cela en c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll

Supprimer le CustomSource y TypesSupported valeurs.

Cela devrait arrêter le message "La description de l'événement ID....".

0 votes

J'avais vu des conseils similaires ailleurs, et je les ai suivis, mais en vain. Je reçois toujours le blurb de l'identifiant d'événement... (J'utilise l'identifiant d'événement 0, si cela a de l'importance).

0 votes

@CJM Je ne sais pas si cela fera une différence, mais nous avons choisi 100 pour l'eventId et cela a bien fonctionné. Je suppose que l'autre chose à vérifier serait les permissions ? J'aurais pensé que vous auriez un message d'erreur différent, mais cela vaut la peine de vérifier.

1 votes

J'ai bien peur que cela n'ait pas fonctionné pour moi, mais à la place j'ai finalement trouvé comment compiler mon propre fichier de messages, et cela a fonctionné à merveille.

24voto

jitbit Points 8072

Que diriez-vous d'une solution concrète ?

Si tout ce dont vous avez besoin est un moyen "rapide et sale" d'écrire quelque chose dans le journal des événements sans avoir à enregistrer des "sources personnalisées" (ce qui nécessite des droits d'administrateur), ou à fournir des "fichiers de messages" (ce qui nécessite du travail et des maux de tête), il suffit de faire ceci :

EventLog.WriteEntry(
    ".NET Runtime", //magic
    "Your error message goes here!!",
    EventLogEntryType.Warning,
    1000); //magic

De cette façon, vous écrirez dans un journal "Application" existant sans l'ennuyeux "La description de l'événement ID 0 ne peut être trouvée".

Si vous voulez que la partie "magique" soit expliquée, j'en ai parlé sur mon blog. aquí

22voto

viperbone Points 1108

Redémarrez votre système !

Un de mes amis a eu exactement le même problème. Il a essayé toutes les options décrites, mais rien ne semblait fonctionner. Après de nombreuses études, également de la description de Microsoft Il a conclu de redémarrer le système et cela a fonctionné !

Il semble que le système d'exploitation ne rafraîchisse pas dans tous les cas la liste des sources d'événements enregistrées. Ce n'est qu'après un redémarrage que vous pouvez être sûr que les sources d'événements sont enregistrées correctement.

14voto

Stefan Egli Points 11708

Vous devez créer une source d'événements et un fichier de messages pour celle-ci. Le code ressemble à quelque chose comme ceci :

var data = new EventSourceCreationData("yourApp", "Application");
data.MessageResourceFile = pathToYourMessageFile;
EventLog.CreateEventSource(data);

Ensuite, vous devrez créer un fichier de messages . Il y a aussi ceci article qui explique les choses (je ne l'ai pas lu en entier mais il semble assez complet).

0 votes

J'utilise la méthode System.Diagnostics.TraceSource.TraceEvent et j'obtiens la même erreur. Votre réponse a résolu ce problème : Mais ne devrait-il pas y avoir une solution plus simple pour cela ? (Ce serait compliqué avec les informaticiens pour déployer cela ;))

0 votes

Ma réponse emprunte le fichier de message de .net, ce qui semble l'empêcher de se plaindre. Cela devrait être plus facile à déployer car tout peut être fait avec un fichier .reg. Cependant, cela ne vous donne pas la possibilité de le personnaliser autant que de créer votre propre fichier de messages.

6voto

Daniel Lidström Points 2970

Utilisez PowerShell pour créer votre journal d'événements et votre source :

New-EventLog -LogName MyApplicationLog `
    -Source MySource `
    -MessageResourceFile C:\windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll

Vous aurez besoin des messages dll pour éviter le problème que vous rencontrez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X