Daily Archives: January 20, 2006

More about .NET Windows DLL Hell

Although my own recent DLL hell with VS2005 is in design time, I have learned quite a good lesson about dynamically loading assemblies and the dll hell you can introduce in that way.

I have an application that makes heavy use of Reflection.Assembly.LoadFrom where I pass in the path of a DLL to be loaded. The DLLs are randomly added to the application as we create them.

What I learned was from this post of Suzanne Cooke’s about the difference between Load and LoadFrom. Load will load assemblies that are in the GAC (and a few other .NET locales) and is a big help in avoiding dll hell because the GAC does a good job of versioning. LoadFrom will load from a  file that you explicitly tell it to and cares not about versioning. There are a lot more pointers to be aware of here. Check out her post on choosing a binding context (Load and LoadFrom are binding contexts) as well as her related post about switching your code from using LoadFrom to using Load. Suzanne writes the kind of posts that cant’ be read lightly and I can’t really absorb their lessons unless it’s something that I need to know. And I needed to know this today!

Don’t Forget: www.acehaid.org

My side job: travel agent

One of the pain in the rear parts of doing a lot of travel is doing a lot of travel coordination. It actually is quite time consuming to find the right flights at good times, with short layovers and not overly expensive rates. Then there’s finding hotels, dealing with the usual variety of room rates and lastly coordinating anything else that might be involved. Even when you have a travel agent helping you, there are still a lot of decisions to make. I think for every event I go to, I probably spend at least a few hours on this.

Even with my little overnight trip to do an INETA gig at TechValley .NET in Albany next week, I spent time figuring out where to stay (finally settled on a hotel in Saratoga Springs with the benefit of meeting up with a friend), if I should take a train (turns out it would be a lot more hours than driving and still include driving) or even rent a car (though I discovered the only option there was to drive 30 miles north to Burlington to get a car before heading south to Albany). So in the long run, I  have a simple plan – hop in my car and drive to Albany. But given the options, the budget and my own schedule, it was not a “no-brainer” and I infectiously put way too much thought into it.

When Kate and I sent to South Africa, we spent hours and hours on i.m. trying to find flights that we could meet up on that would be amenably priced for Microsoft and would get all of the mileage credits to our own frequent flier accounts. Then we had to go back and forth with Microsoft’s travel coordinator over a series of about 20 emails. I bet we each spent at least 4 hours doing that. This, of course, does not include planning our outings.

Don’t Forget: www.acehaid.org

INETA’s Formation – perception vs. reality

D’Arcy Lussier writes:

Flash back a few years to when .NET was an emerging technology. Microsoft put their marketing muscle behind the promotion and creation of user group communities: groups of geeks getting together to talk about CLR goodness. Their plan worked to perfection, and user groups sprung up all over the world! An organization (which I’m a membership manager for), INETA – The International .NET Association, was created and helped bolster the user groups by providing guidance, speakers, and support.

I see it very differently.

Flash back a few years to when .NET was an emerging technology. INETA – The International .NET Association, was created by a handful of user group leaders (led by Bill Evjen) in an effort to bolster the user groups by providing guidance, speakers, and support. When INETA (with help from Microsoft’s Eric Ewing) demonstrated to Microsoft how important the user group community was, Microsoft put their marketing muscle behind the promotion and creation of user group communities: groups of geeks getting together to talk about CLR goodness.



Don’t Forget: www.acehaid.org