Freigeben über


Compilerfehler CS0011

Die Basisklasse oder Schnittstelle "Klasse" in der Assembly "Assembly", auf die vom Typ "Typ" verwiesen wird, konnte nicht aufgelöst werden.

Eine mit /referenceaus einer Datei importierte Klasse wird von einer nicht gefundenen Klasse abgeleitet oder implementiert eine Schnittstelle, die nicht gefunden wird. Dieser Fall kann eintreten, wenn eine erforderliche DLL nicht gleichzeitig Bestandteil der Kompilierung mit /referenceist.

Weitere Informationen finden Sie unter Hinzufügen von Verweisdialogfeldern und Verweise (C#-Compileroptionen).

Beispiele

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

Die zweite Datei erstellt eine DLL, die eine C -Klasse definiert, die von der B -Klasse abgeleitet wird, welche im vorherigen Beispiel generiert wurde.

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

Die dritte Datei ersetzt die im ersten Schritt erstellte DLL und lässt die Definition der inneren B-Klasse aus.

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

Schließlich verweist die vierte Datei auf die im zweiten Beispiel definierte C -Klasse, die von der B-Klasse abgeleitet wird, und die nun fehlt.

Im folgenden Beispiel wird CS0011 generiert.

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