컴파일러 오류 CS0011
업데이트: 2007년 11월
오류 메시지
'type' 형식에서 참조하는 'assembly' 어셈블리의 'class' 인터페이스 또는 기본 클래스를 확인할 수 없습니다.
The base class or interface 'class' in assembly 'assembly' referenced by type 'type' could not be resolved
파일에서 /reference를 통해 가져온 클래스가 기본 클래스에서 파생되거나 발견되지 않은 인터페이스를 구현합니다. 이 오류는 필요한 DLL이 /reference를 통해 컴파일할 때 포함되지 않은 경우에도 발생할 수 있습니다.
자세한 내용은 참조 추가 대화 상자 및 /reference(메타데이터 가져오기)(C# 컴파일러 옵션)를 참조하십시오.
예제
// CS0011_1.cs
// compile with: /target:library
public class Outer
{
public class B { }
}
두 번째 파일에서는 이전 예제에서 만든 클래스 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 {}
세 번째 파일에서는 첫 번째 단계에서 만든 DLL을 대체하지만 이번에는 내부 클래스 B에 대한 정의가 없습니다.
// CS0011_3.cs
// compile with: /target:library /out:cs0011_1.dll
public class Outer {}
마지막인 네 번째 파일에서는 클래스 B에서 파생되었고 두 번째 예제에서 정의했던 클래스 C를 실제로 포함하지는 않고 참조만 합니다.
다음 샘플에서는 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();
}
}