-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Please note that *only* the OpenDDR C# version downloadable from GitHub is affected. I do not think an easy fix is possible, the whole thing worked -- and still works when confined to a .Net 3.5 platform -- because it relies on something that should not have worked in the 1st place.
The problem is that the code relies on changing the collection (OrderedDictionary) over which it's enumerating. Others have made this mistake and got bitten as well : https://stackoverflow.com/questions/5159289/ordereddictionary-breaking-change-in-net-4 It's entirely illegal to modify--in any way--a collection over which you're enumerating. With the DeviceMap code working as it does in all versions and languages, for us, the issue is not terribly relevant. For those wishing to use the OpenDDR code on .Net is very relevant : unless they stick to 3.5 where ever and when ever they use it, it won't work. For me it's just nuisance : when comparing DeviceMap to OpenDDR in tests I have to switch packages, ie : can't run tests from one test app. Also, it shows me that the author was in a Java-frame-of-mind when doing the C# and didn't see she/he was doing something quite illegal in .Net [and logic in general] and was fortunate to get away with it - -- unaware of the big 'sin' committed -- due to a bug in .Net ;-) esjr -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJS2R5dAAoJEOxywXcFLKYcIn8IAJ9JbD/itPKG6MwqFYh5mQyf d1An+m/ArNkOYeR83TkhApL/kP1LJJYuQ2E1jWS8wrKXxxiaCQPgH+2MbN/9lBMa AqFrdTLBbBAGBtlrJUjAbxwbQramr5PvhPN90WBQgVvGwnhdh1LMqmjTRUzBhI1v oBgMtN/bzJfLRnl5c2FsWkRQjKy4uZqAP+SK3AiBGmRmtXu14g8FxEhtDWoEDmJc dpkxXUX3sQk6DePBoUFUZ8KKgrAahoLQZrLupl9D40tiD4sTCKWn6Y0JmGM3SxRA L4zOzP8f1hLARbcAIVx71dQMSvCjzFfefDzN/DNKRTo0jDkI6zmHN8XScjlIAH4= =45lM -----END PGP SIGNATURE-----
