Thursday 16 September 2004 — This is 20 years old. Be careful.
I haven’t mentioned Sysinternals in a while, but they should be promoted forcefully and often.
Yesterday I wasted five hours trying to figure out why a C# module couldn’t call a COM interface. The method was obviously properly defined, and called properly, but it always raised a No Such Method exception. I used oleview and ildasm and regasm until my eyes were crossed. I cleaned and rebuilt. I rebooted. Hours passed and I still could not figure out why it didn’t work. A handful of workers were similarly baffled after wasting more time.
Finally we had the bright idea of using Filemon to monitor exactly what files were being used by the process in question. Two minutes later, it was clear that my local download assembly cache (WTF?) had a stale copy of the assembly. I executed “gacutil /cdl” to clear the cache, and the problem was gone.
Thank you, thank you, thank you Sysinternals!
Comments
I eventually had to use a dependency walker to figure it out. When something goes wrong with .NET is really difficult to figure out what happened. .NET still shows its young age.
Add a comment: