Mixed-Mode Problems
You may be wondering how well the managed code and the so-called unmanaged C++ play together. Alas, the answer is "not well." With C++.NET 7.0 and 7.1, there are serious issues with process hanging when using mixed-mode executables, due to DllMain() contention between the managed and unmanaged code, particularly involving the Visual C++ C-Runtime Library. The documentation on linker warning LNK4243 and the Microsoft web page resources http://support.microsoft.com/?id=814472 and http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vcconmixeddllloadingproblem.asp provide ample pause for thought for the intrepid language integrator.
The first version of Open-RJ/C++.NET follows this model, and in fact works perfectly well in action. However, any attempt to debug it on one of my development machinesone that has, for the last five weeks, been in the condition of stalled .NET SDK Service Pack updates courtesy of Windows Updateresulted in a complete hang of Visual Studio (2002, 2003, 2005take your pick!). I think this is due to environmental factors on the machine, but it's still cause for concern. I hope to look at how to become C-Runtime Library independent in a future installment, so the issue will be irrelevant. That'll have to be after the joyous task of complete system reinstallation, of course.
M.W.