从Visual Studio 2015输出窗口

时间:2017-03-15 15:39:58

标签: 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).

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

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

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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:5)

我找到了这个字符串来自的汇编,但还没有找到。或者

在原始dll(32位版本)中的mscorlib.dll行54673中找到它:使用{1}参数调用事件{0},但它使用{2} paramenter(s)< / p>

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

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

答案 1 :(得分:5)

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

在我的情况下,罪魁祸首似乎是StackOverflow question linked above中记录的Application Insights和Stackify Prefix的组合。