コンパイラ エラー CS0011
更新 : 2007 年 11 月
エラー メッセージ
型 '型' によって参照されたアセンブリ 'アセンブリ' の基本クラスまたはインターフェイス 'クラス' を解決できませんでした。
/reference を使用してファイルからインポートされたクラスが、あるクラスの派生クラスであるか、または見つからないインターフェイスを実装しています。このエラーは、必要な .DLL が /reference を使用したコンパイル時にインクルードされていない場合に発生することがあります。
詳細については、「[参照の追加] ダイアログ ボックス」および「/reference (メタデータのインポート) (C# コンパイラ オプション)」を参照してください。
使用例
// CS0011_1.cs
// compile with: /target:library
public class Outer
{
public class B { }
}
2 つ目のファイルでは、前の例で作成した B クラスから派生した C クラスを定義することによって DLL を作成します。
// CS0011_2.cs
// compile with: /target:library /reference:CS0011_1.dll
// post-build command: del /f CS0011_1.dll
public class C : Outer.B {}
3 つ目のファイルでは、最初の手順で作成した DLL を置き換え、内部クラスである B の定義を省略しています。
// CS0011_3.cs
// compile with: /target:library /out:cs0011_1.dll
public class Outer {}
最後に、4 つ目のファイルで、2 番目の例で定義した C クラスを参照します。C クラスは B クラスから派生していますが、今度は 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();
}
}