从Visual Studio 2015输出窗口中筛选自定义消息

erd*_*mke 8 c# visual-studio visual-studio-2015

在过去几个月的某些时候,很多信息都是如此

Event 7 was called with 5 argument(s) , but it is defined with 6 paramenter(s).
Event 10 was called with 5 argument(s) , but it is defined with 6 paramenter(s).
Event 10 was called with 5 argument(s) , but it is defined with 6 paramenter(s).
Run Code Online (Sandbox Code Playgroud)

开始向我的Visual Studio输出窗口发送垃圾邮件,这使得很难找到实际的跟踪和调试消息.这些消息来自何处,以及如何禁用它们?

为了解决这个问题,我尝试了几件事.

  • 大多数答案都指向在输出窗口中配置复选框.如果我取消选中"程序输出",问题消息就会消失,但我想保留的消息也会消失.
  • 我尝试创建一个自定义TraceListener并在WriteWriteLine方法中设置一个断点,希望调用栈能告诉我从哪里生成消息.我发现这些消息并非来自典型Diagnotics.DebugDiagnotics.Trace方法.
  • 我尝试将控制台重定向Console.SetOut()TextWriter我可以在其中设置断点的自定义.再一次,我找不到任何东西.

任何帮助,将不胜感激.

Jos*_*jje 5

我发现这个字符串来自的组件,但还没有如何或在哪里.

它位于原始dll(32位版本)中的mscorlib.dll行54673中:使用{1}参数调用事件{0},但它使用{2}参数定义

它来自资源名称值对,这个名称为EventSource_EventParametersMismatch

这是在system\diagnostics\eventing\eventsource.cs中使用的.WriteToAllListeners https://referencesource.microsoft.com/#mscorlib/system/diagnostics/eventing/eventsource.cs,7c04b58f26d81951


erd*_*mke 5

正如@Sinatr在他的评论中有用地提到的,这可能是由于我在初始搜索期间没有找到信息的几种不同的系统配置引起的.特别是,可以在以下链接中找到更多信息:

在我的情况下,罪魁祸首似乎是Application Insights和Stackify Prefix的组合,如上面链接StackOverflow问题中所述.