I'm developing a C++/CLI application using Visual Studio 2008 targeting .NET framwork 2.0 (can easily migrate to 3.5 if needed). Doing so I have come across the situation where the symbols from two different assemblies used by this application conflict. An example of this would be that both assemblies define "MyNamespace.MyClass" (fake names of course ). This will result in a compiler warning saying that only one of the types will be accessible (Warning C4945 described here: http://msdn.microsoft.com/en-us/library/za5hhxx1.aspx).

My question is if there is a way of referencing both assemblies in a manner which makes both "instances" of the type "MyNamespace.MyClass" available to the application at the same time.

For C# this is possible through the "extern alias" (Documented here: http://msdn.microsoft.com/en-us/library/ms173212.aspx). This construct makes it possible to reference an assembly under a different (named) root namespace. This resolves the symbol naming conflict. I can't find the equivalent construct in C++/CLI.

Thanks in advance!
Johan