Mixed mode C++ DLL showing things in Object Browser that it shouldn't
We've created a fairly complex assembly (DLL) in C++ that uses both managed and unmanaged code. The unmanaged code makes use a various standard C++ libraries, and some of the functions and types from the standard C++ libraries are showing up in the Visual Studio Object Browser. A good example of one of these items is the standard C++ "exception" class. It shows up in the Object Browser, and if you write .NET code that throws or catches an exception, it thinks its throwing or catching this kind of exception rather than the normal .NET System.Exception.
Why is this happening? Is it possible to prevent these things from showing up in the Object Browser? We've done various tests of using __nogc as well as #pragma unmanaged, but nothing seems to stop these things from showing up in the Object Browser.