使用英语阅读

通过


编译器错误 CS0011

未能解析程序集“assembly”中由类型“type”引用的基类或接口“class”

使用 /reference从类文件导入的类派生自找不到的类或实现了找不到的接口。 如果没有使用 /reference将所需 DLL 也包含在编译中,则可能出现这种情况。

有关详细信息,请参阅“添加引用”对话框References(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();  
   }  
}