From: Kenneth Porter on
David Lowndes <DavidL(a)example.invalid> wrote in
news:n212p51s83gf6d72vsrsvel4v31cp9q6l9(a)4ax.com:

> Using current versions of VS you'd change your project properties to
> add CLR support (the /clr option), the add a reference to their
> managed DLL. You can then just start using things inside the namespace
> of whatever they've provided - hint... the Object Browser will list
> the things you've added as a reference to your project.

Ok, I attempted this and immediately my first source file dies with an
ambiguous symbol error.

I have a class MyCompany::System. All my implementation files start with
"using namespace MyCompany;". I pass System& as a parameter to a lot of
routines. As soon as I turn on /clr I get the .NET System namespace dropped
into all my sources without even adding a header for it, so I get ambiguous
symbols everywhere, and I'm forced to qualify symbols in modules that don't
use .NET. (Why didn't MS put System inside an "MS" namespace? I don't
recall Sun pushing Java library names directly into the global namespace,
but then I'm not that familiar with Java, so I don't know if MS is really
repeating a gaff already made by Sun.)