“La description pour l'ID d'Événement X dans Y de la Source ne peut pas être trouvé.”
Je suis en train d'écrire les événements personnalisés à partir de mon application web pour le journal des événements windows. Je n'ai pas eu la chance d'obtenir les chaînes de message au travail, je reçois "La description pour l'ID d'Événement X dans Y de la Source ne peut pas être trouvé."
En essayant de réduire ce bas j'ai décidé d'écrire un événement à une source qui existe déjà sur ma machine. J'ai juste regardé l'un des événements qui a déjà été écrite, en particulier SceCli événement 1704.
J'exécute le code suivant:
var log = new EventLog("Application");
log.Source = "SceCli";
var ev = new EventInstance(1704, 0, EventLogEntryType.Information);
log.WriteEvent(ev);
Cependant, cela me donne encore la suivant dans l'Observateur d'Événements:
La description pour l'ID d'Événement ( 1704 ) dans la Source ( SceCli ) ne peut pas être trouvé. L'ordinateur local ne dispose pas de l'information nécessaire de registre ou les fichiers DLL de message pour afficher les messages à partir d'un ordinateur distant. Vous pouvez être en mesure d'utiliser le /AUXSOURCE= indicateur pour récupérer cette description; voir Aide et Support pour plus de détails. Les informations suivantes font partie de l'événement: le fichier journal des événements est corrompu..
Je ne suis pas sûr de ce que je suis absent ici. Je suis en train d'écrire exactement la même qui existe déjà, et elle ne peut toujours pas trouver la chaîne de message.
OriginalL'auteur skippy10110 | 2013-06-13
Vous devez vous connecter pour publier un commentaire.
J'ai aussi été confronté au même problème. Après avoir fait beaucoup de recherches, je n'ai la suite j'ai vérifié les étapes selon cet article http://www.codeproject.com/Articles/4166/Using-MC-exe-message-resources-and-the-NT-event-lo Tout semblait être en place. Sauf une chose..je l'ai réalisé quand je suis tombé sur ce msdn http://msdn.microsoft.com/en-us/library/windows/desktop/aa363661(v=vs. 85).aspx
Comme dernier paragraphe dit.. " Si l'application appelle RegisterEventSource et passe un nom de la source qui ne peut pas être trouvé dans le registre, l'événement d'enregistrement de service utilise le journal de l'Application par défaut. Cependant, parce qu'il n'y a pas de fichiers de messages, l'Observateur d'Événements ne peut pas mapper tout cas à des identifiants ou des catégories d'événements pour une chaîne de description, et affiche une erreur. Pour cette raison, vous devez ajouter un événement unique source pour le registre de votre application et de spécifier un fichier de message.' Donc, mon nom de l'application dans RegisterEventSource n'était pas la correspondance avec le nom de l'application dans la base de registre. J'ai corrigé cela et maintenant ça fonctionne... Donc s'il vous plaît vérifiez vos entrées de registre si vous faites face à ce problème.
OriginalL'auteur Sonal
Pouvez-vous voir les autres événements correctement? Probablement, vous ne pouvez pas utiliser cette source et l'id d'événement (SceCli/1704) car le C# d'événements de classe ne fournit pas le bon nombre de paramètres pour correspondre le modèle d'événement dans le fichier de message d'événement. Je pense qu'il ne fonctionne qu'avec les sources qui ont simplement "%1" dans leur fichier de message d'événement (voir http://www.eventid.net/show-DocId-22.htm pour plus de détails à ce sujet).
De toute façon, je pense que vous devez créer une source de votre application personnalisée (si elle n'existe pas), puis enregistrer l'entrée de journal. Avant l'enregistrement d'un événement de vérifier si la source existe et de le créer s'il n'est pas le cas:
OriginalL'auteur AdiGri