2011-01-24 6 views
1

나는 몇 가지 프로젝트가 포함 된 C#의 해결책을 가지고 있는데 한 프로젝트에 다른 프로젝트에 대한 참조를 추가하려고하지만 내가 추가 한 후에 참조를 추가하는 프로젝트가 모두를 감지하지는 않습니다 이 dll에서 수업. 모든 클래스가 dll로 컴파일되는 것은 아닙니다.모든 클래스를 DLL로 컴파일하지 않음

이유를 아는 사람이 있습니까?

+0

프로젝트 참조를 사용하고 있습니까, 아니면 dll을 참조하고 있습니까? –

+0

그 수업은 공개 된 것이 확실합니까? –

답변

5

다른 프로젝트에서 사용할 수 있도록 public 클래스를 만들어야합니다.

그래도 도움이되지 않는 경우 솔루션을 다시 작성하십시오.

2

참조 된 프로젝트의 클래스에는 명시 적 한정자 "public"이 있어야합니다.

0

최상위 클래스는 기본적으로 "내부"액세스이므로 동일한 어셈블리 (dll)의 유형에서만 사용할 수 있습니다. 대부분 일부 유형과 마찬가지로 "공개"가 포함되며 (따라서 사용 가능) 일부는 그렇지 않습니다 (사용할 수 없습니다).

또한 형식을 사용하려는 파일에 필요한 "using"지시문이 모두 있는지 확인해야합니다.

4

또 다른 가능성은 클래스 파일이 컴파일에 포함되지 않는다는 것입니다.

Visual Studio에서 파일의 Build Action 속성이 Compile로 설정되어 있는지 확인하십시오.

+1

솔루션 내에서 하나의 프로젝트에서 다른 프로젝트로 클래스 파일을 드래그하면 우연히 발생할 수 있습니다. 생성되는 복사본은 '컴파일'에서 '콘텐츠'로 변경됩니다. – Andy

0

나는이 동일한 문제점이 있었다. 클래스가 "public"으로 정의되었는지 확인하십시오. 클래스는 기본적으로 private 클래스입니다.

MSDN Class

관련 문제