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


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

Обновлен: Ноябрь 2007

Сообщение об ошибке

Базовый класс или интерфейс "класс" в сборке "сборка", на которую ссылается тип "тип", не удается разрешить
The base class or interface 'class' in assembly 'assembly' referenced by type 'type' could not be resolved

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

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

Пример

// CS0011_1.cs
// compile with: /target:library

public class Outer 
{
   public class B { }
}

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

// 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.

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

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

В следующем примере создается ошибка CS0011.

// 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();
   }
}

См. также

Ссылки

Диалоговое окно "Добавление ссылки"

/reference (импорт метаданных) (параметры компилятора C#)