> Dim loEventLogReader As New EventLogReader("D:\\Event.evtx", PathType.FilePath) > Dim loEventLogRecord As EventLogRecord = Nothing > > While (InlineAssignHelper(loEventLogRecord, DirectCast(loEventLogReader.ReadEvent(), EventLogRecord))) IsNot Nothing > Try > Dim result As Int64 = If(loEventLogRecord.Keywords, 0) > Console.WriteLine(loEventLogRecord.TimeCreated.ToString() + ": " + result.ToString()) > Dim final As String = String.Empty > 'Exception thrown here when accessing KeywordsDisplayNames > For Each lcString As String In loEventLogRecord.KeywordsDisplayNames > final += lcString & Convert.ToString(",") > Next > If final.Length > 0 Then > final = final.Substring(0, final.Length - 1) > End If > Console.WriteLine(final) > Catch ex As Exception > Console.WriteLine("Exception at {0} : {1} ", loEventLogRecord.TimeCreated.ToString(), ex.Message) > End Try > End While > Console.ReadLine()Oh, and the helper method:
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T > target = value > Return value > End FunctionI'm guessing that the error occurs because of omissions in the registry which prevents some items being resolved.