CS0434 de erro do compilador

Mensagem de erro

O namespace NamespaceName1 NamespaceName2 conflitos com o tipo TypeName1 no NamespaceName3

Este erro ocorre quando o tipo importado e o namespace importado tem o mesmo nome totalmente qualificado.Quando é feita referência a esse nome, o compilador não consegue distinguir entre os dois.

O código a seguir gera erro CS0434.

Exemplo

Esse código cria a primeira cópia do tipo com o nome totalmente qualificado idêntico.

// CS0434_1.cs
// compile with: /t:library
namespace TypeBindConflicts 
{
    namespace NsImpAggPubImp 
    {
        public class X { }
    }
}

Esse código cria a segunda cópia do tipo com o nome totalmente qualificado idêntico.

// CS0434_2.cs
// compile with: /t:library
namespace TypeBindConflicts {
    // Conflicts with another import (import2.cs).
    public class NsImpAggPubImp { }
    // Try this instead:
    // public class UniqueClassName { }
}

Esse código referencia o tipo com o nome totalmente qualificado idêntico.

// CS0434.cs
// compile with: /r:cs0434_1.dll /r:cs0434_2.dll
using TypeBindConflicts;
public class Test 
{
    public TypeBindConflicts.NsImpAggPubImp.X n2 = null; // CS0434
}