コンパイラ エラー CS0011
型 'type' で参照されているアセンブリ 'assembly' の基底クラスまたはインターフェイス 'class' が解決できません
/referenceを使用してファイルからインポートされたクラスが、あるクラスの派生クラスであるか、または見つからないインターフェイスを実装しています。 このエラーは、必要な DLL が /referenceを使用したコンパイル時にインクルードされていない場合に発生することがあります。
詳細については、[参照の追加] ダイアログ ボックスに関するページと C# コンパイラ オプションの「参照」を参照してください。
// CS0011_1.cs
// compile with: /target:library
public class Outer
{
public class B { }
}
2 つ目のファイルでは、前の例で作成した C
クラスから派生した B
クラスを定義する 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
クラスを参照します。これは 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();
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。