I've come up against the unlikely scenario when I reference two external assemblies that both have the same namespace and type names. When I try to use the type, the compiler throws an error that it cannot resolve which one I want to use.
I see that C# offers a mechanism to use aliases for references. You can even specify these aliases via the Property
window of a reference in Visual Studio 2008. How do I use this alias in my code? As I understand, I should be using the ::
operator, but it fails with the following error:
CS0432 - Alias not found
The usual .
operator fails as well.
In the output window I see that the compiler gets the alias passed correctly in its command line.
Any pointers on what I may be able to try next are greatly appreciated.
Try this:
And add
global,asm1
to the project reference for assembly1 andglobal,asm2
for assembly2I think you need to use an extern alias. Anson Horton has a good blog on this problem and how to use extern alias to fix it.
When you reference some assembly in project it has default alias "global". When you add another alias for that assembly, e.g. "global, AssemblyA", you will reference it like this:
or: