Horrible error running against a 32bit .Net Library from a 64bit application

So, this is my first new dev project on my shiny new Windows 7 64bit machine (having come from a 32bit Vista box). As it happens, I want to use the Microsoft Data Visualization Components, which are only available as a set of 32bit DLLs compiled sometime in 2006.

OK, all good so far – loaded ‘em up, referenced them, threw a TreeMap control on my form, compiled fine and then ran it, and… Bang!

Got a message;

Could not load type ‘Microsoft.Research.CommunityTechnologies.Treemap.NodeColor’ from assembly ‘TreemapGenerator, Version=1.0.1.38, Culture=neutral, PublicKeyToken=3f6121a52ebf7c82′ because it contains an object field at offset 0 that is incorrectly aligned or overlapped by a non-object field.

Turns out the problem is that I’m referencing a 32bit component from a 64bit application, and [...]