Прочитать на английском

Поделиться через


Ошибка компилятора CS0434

Пространство имен "ИмяПространстваИмен1" в пространстве имен "ИмяПространстваИмен2" конфликтует с типом "ИмяТипа1" в пространстве имен "ИмяПространстваИмен3"

Эта ошибка возникает, когда импортированный тип и импортированное вложенное пространство имен имеют одно и то же полное имя. При ссылке на это имя компилятор не может их различить. Если вы можете изменить импортированный исходный код, то эту ошибку можно устранить, изменив имя типа или пространства имен, чтобы оба имени были уникальными в пределах сборки.

Приведенный ниже код вызывает ошибку CS0434.

Пример 1

Этот код создает первую копию типа с идентичным полным именем.

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

Пример 2

Этот код создает вторую копию типа с идентичным полным именем.

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

Пример 3

Этот код ссылается на тип с идентичным полным именем.

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