It is strange - maybe the elves were messing with my siml, I mean, SIML.
As we discussed in the adapter thread, I was using a foreach/switch to unpack attributes in general. I was using a ToLower() in my switch statement and this was working fine. In one of my adapters, in which I only ever unpack one attribute, I switched over to your approach (i.e. var counter = adapterNode.Element.Attribute("counter");) and that was also working just fine. Then 3.0.0 came out and I updated my project and that adapter failed (globally). In debug when I saw I didn't get an attribute, I tried with upper case and it worked, which lead me to do
string counter = adapterNode.Element.Attributes().SingleOrDefault(a=>a.Name.LocalName.ToLower()=="counter")?.Value;
Not something I'd do if I had more than one attribute. I could of course change "counter" to "Counter", but I'm hoping to encourage more people to write SIML (I guess I'm trying to get them to write SIML-ish) not try to make their lives harder.
Anyway, thanks as always for the info,