I'm dealing with a buggy, proprietary managed C++ DLL that is injecting come objects into the std namespace (it's included in the project as a Reference Assembly).
Unfortunately, it's injecting an object named std::errc into the std namespace, which means that the DLL won't play nicely with the new C++11 std::errc. Right now, my project can't be compiled if I include <string>, <iostream>, <fstream>, and probably other stdlib headers I haven't found.
Is there any way to force a DLL to be put in a sub-namespace? Or really, any way to prevent a Assembly Reference from overriding certain components of std?