我正在使用 EventSource 登录 ETW。我们正在使用 .Net Framework 4.5。
由于我还处于开发初期,我将在我的 EventSource 子类中频繁更改方法签名。我真的不想每次进行更改时都增加版本。版本只是一个字节,所以我很快就会用完版本。
有没有一种方法可以强制 ETW 在不添加/更改版本属性的情况下识别签名更改?
感觉它可能与清单文件的生成有关,但我真的找不到很多关于如何在 v4.5 中完成的信息。过去似乎需要手动生成清单文件,现在它以某种方式神奇地生成了。
对此的任何帮助将不胜感激。
编辑:
当我更改签名时,日志看起来仍然像旧签名。例如,如果我的方法看起来像这样
public void MyLogMethod(string name, int id)
稍后,如果我想添加另一个参数,例如
public void MyLogMethod(string name, int id, string message)
除非我增加 Version 属性,否则消息值不会显示在有效负载中。我希望 ETW 能够识别我更改的签名,而无需更改 Version 属性。