猿问

找不到参数引用 (%1) 的描述字符串

尝试使用 C# 的方法从 Windows 日志读取时出现此异常EventRecord.FormatDescription():


System.Diagnostics.Eventing.Reader.EventLogException: The description string for parameter reference (%1) could not be found

   at System.Diagnostics.Eventing.Reader.EventLogException.Throw(Int32 errorCode)

   at System.Diagnostics.Eventing.Reader.NativeWrapper.EvtFormatMessageRenderName(EventLogHandle pmHandle, EventLogHandle eventHandle, EvtFormatMessageFlags flag)

   at System.Diagnostics.Eventing.Reader.ProviderMetadataCachedInformation.GetFormatDescription(String ProviderName, EventLogHandle eventHandle)

当事件的文本包含字符串%%后跟一个长数字(来自我无法控制的源的某些事件包含该模式)时,会发生异常。这些%%只是文本,我不希望 Windows 有任何解析智能。


当事件文本包含该模式时,您知道我可以做些什么来避免 .Net 抛出此错误吗?


以下是下次尝试从 C# 程序读取事件时将导致异常的 PowerShell 命令:


New-EventLog -LogName Application -Source MyApp

Write-EventLog -Source MyApp -LogName Application -Message "%%4294967295" -EventId 3


Smart猫小萌
浏览 244回答 1
1回答
随时随地看视频慕课网APP
我要回答