Error del compilador CS0433
Actualización: noviembre 2007
Mensaje de error
El tipo NombreTipo1 existe tanto en NombreTipo2 como en NombreTipo3
The type TypeName1 exists in both TypeName2 and TypeName3
Dos ensamblados diferentes a los que la aplicación hace referencia contienen el mismo espacio de nombres y tipo, lo que produce ambigüedad.
Para resolver este error, utilice la característica de alias de la opción de compilador /reference (Importar metadatos) (Opciones del compilador de C#) o no haga referencia a uno de los ensamblados.
Ejemplo
Este código crea el archivo DLL con la primera copia del tipo ambiguo.
// CS0433_1.cs
// compile with: /target:library
namespace TypeBindConflicts
{
public class AggPubImpAggPubImp {}
}
Este código crea el archivo DLL con la segunda copia del tipo ambiguo.
// CS0433_2.cs
// compile with: /target:library
namespace TypeBindConflicts
{
public class AggPubImpAggPubImp {}
}
En el siguiente ejemplo se genera el error 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
}
}
En el siguiente ejemplo se muestra cómo utilizar la característica de alias de la opción de compilador /reference para resolver este error 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();
}
}