Aha! I can now build my assembly successfully and import it into Python! Upon closer inspection, I discovered that uninstalling Visual Studio 2010 did *not* actually remove the compilation subsystem I was using, it turns out, from C:\Windows\Microsoft.NET\Framework\v4.0.30319. And so my DLL was still coming out based on a too-recent runtime version. Once I replaced my %PATH% with: PATH=C:\Windows\Microsoft.NET\Framework\v3.5 and re-ran "csc /t:library Brandon.cs", I got a DLL that imports and runs just fine from inside of Python! So it was just my ignorance of how Windows development works, and of which paths and installed components determine the runtime version of a built component, that seems to have caused the problem. This experience over the last two days - of, in effect, staring at a bank of knobs and blinking lights and having no idea which knobs will have what effects - really helped me have sympathy as I was simultaneously answering some questions from a friend who is trying to figure out how to compile Python on a Mac when he has never dealt with "configure", "make", or shared libraries before. It made it easier to remember that what seemed so sensible and obvious to me was a complete blank wall of ignorance and mystery to him. :-) -- Brandon Craig Rhodes brandon@rhodesmill.org http://rhodesmill.org/brandon