22.214.171.124 contains a workaround for a problem that affected our add-in when it was loaded into VS 2010 SP1 on non-English locales.
Thanks very much to Sörnt for his question that quickly became the most viewed post in our new forum and gave us some indication of how many people this was affecting.
Sörnt also let us log into his machine to run WinDbg and was the first person to test our new build. Thanks Sörnt, we owe you one!
It turned out that the code used by the add-in was calling one of the IsolatedStorage functions to open an isolated storage file with the intention of catching the exception that is raised if the file doesn’t exist. When the file didn’t exist, an exception was constructed, but of course this needed the localised message from a resource assembly. This involved some assembly resolution. VS 2010 SP1 runs with an assembly resolver which checks for resource files according to previously loaded add-ins. The resolver makes a File.Exists call, which would fail because we were running inside the context of the IsolatedStorage. Isolated Storage works by setting a file permission which only allows access to the isolated storage directory. This meant that an exception was constructed, and in constructing it a search was carried out to find a localised string. This lead to a vast number of Security exceptions, which caused start up to take a long time and hence for the COM call that initialises the add-in to time out.
Thanks again to Sörnt and the other guys who replied to my appeal for stack traces. As a result of this particular bug we have decided to implement a public bug tracking system for .NET Reflector where users will be able to log bugs and vote up the most important ones so we make sure we are fixing the issues that will impact the highest number of users. Hopefully we will get something live in the next few weeks.
We’ll also be reporting this bug to Microsoft.
Please do send us any feedback about version 126.96.36.199 to email@example.com or post a question on our forum. We’d love to hear from you. To get the latest .NET Reflector news first, follow us on Twitter @dotnetreflector.