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

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


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

Не удается разрешить базовый класс или интерфейс "класс" в сборке "сборка", на которую ссылается тип "тип"

Класс, который был импортирован из файла с помощью /reference, является производным от не найденного класса или реализует не найденный интерфейс. Это может произойти, если требуемая библиотека DLL не включена в компиляцию с помощью /reference.

Дополнительные сведения см. в диалоговом окне "Добавление ссылки" и "Ссылки" (параметры компилятора C#).

Примеры

C#
// CS0011_1.cs  
// compile with: /target:library  
  
public class Outer
{  
   public class B { }  
}  

Второй файл создает библиотеку DLL, которая определяет класс C , производный от класса B , созданного в предыдущем примере.

C#
// CS0011_2.cs  
// compile with: /target:library /reference:CS0011_1.dll  
// post-build command: del /f CS0011_1.dll  
public class C : Outer.B {}  

Третий файл заменяет библиотеку DLL, созданную на первом шаге, и пропускает определение внутреннего класса B.

C#
// CS0011_3.cs  
// compile with: /target:library /out:cs0011_1.dll  
public class Outer {}  

Наконец, четвертый файл ссылается на класс C , определенный во втором примере, являющийся производным от класса B, который в данный момент отсутствует.

Следующий пример приводит к возникновению ошибки CS0011.

C#
// CS0011_4.cs  
// compile with: /reference:CS0011_1.dll /reference:CS0011_2.dll  
// CS0011 expected  
  
class M  
{  
   public static void Main()  
   {  
      C c = new C();  
   }  
}