CS0433 de erro do compilador

Mensagem de erro

O tipo TypeName1 existe tanto TypeName2 TypeName3

Dois diferentes assemblies referenciados em seu aplicativo contêm os mesmos espaço para nome e tipo, que produz ambigüidade.

Para resolver esse erro, use o recurso de alias do /Reference (importação de metadados) (Opções do compilador translation from VPE for Csharp) compilador de opção ou não referência a um dos seus assemblies.

Exemplo

Esse código cria a DLL com a primeira cópia do tipo ambíguo.

// CS0433_1.cs
// compile with: /target:library
namespace TypeBindConflicts 
{
   public class AggPubImpAggPubImp {}
}

Esse código cria a DLL com a segunda cópia do tipo ambíguo.

// CS0433_2.cs
// compile with: /target:library
namespace TypeBindConflicts 
{
   public class AggPubImpAggPubImp {}
}

O exemplo a seguir gera CS0433.

// CS0433_3.cs
// compile with: /reference:cs0433_1.dll /reference:cs0433_2.dll
using TypeBindConflicts;
public class Test 
{
   public static void Main() 
   {
      AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();   // CS0433
   }
}

O exemplo a seguir mostra como você pode usar o recurso de alias do /reference opção do compilador para resolver esse erro CS0433.

// CS0433_4.cs
// compile with: /reference:cs0433_1.dll /reference:TypeBindConflicts=cs0433_2.dll
using TypeBindConflicts;
public class Test 
{
   public static void Main() 
   {
      AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();
   }
}