2011-02-28 4 views
1

새로운 클래스 라이브러리에서 작동하지 않습니다."내부 클래스는"하나의 라이브러리에 컴파일,하지만 난 그게에 정의되어 어셈블리의 보이지 않는 내부 속성이

속성

namespace Stuff { 

    [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] 
    internal sealed class LogActionsAttribute : Attribute { 

     internal LogActionsAttribute() { } 
    } 
} 

이를 클래스가 동일한 어셈블리에 정의되어 컴파일 오류가 발생합니다.

namespace OtherStuff { 

    [Stuff.LogActionsAttribute] 
    class MyClass { 

     void D() { 


     } 
    } 

} 

오류 1 'LogActionsAttributeAttribute은'물건 '네임 스페이스에 존재하지 않는 형식 또는 네임 스페이스 이름 (당신이 어셈블리 참조가없는?)

어떤 아이디어?

답변

4

해당 유형이 프로젝트 내부에 있으면 아마도 네임 스페이스 충돌 일 것입니다. 시도 :

다른 이름 공간의 Stuff과의 충돌을 피하십시오.

+0

네임 스페이스 충돌이 어떻게 발생할 수 있는지 잘 모르겠습니다. 그들은 내 사용자 정의 네임 스페이스입니다. 나는 당신의 제안을 시도했지만 여전히 보이지 않습니다. 다른 아이디어? –

+1

@SirPsycho - 사전 컴파일러 인'# if'가 있습니까? 기본적으로 클래스 **가 확실히 컴파일되고 있습니까 **? –

+1

@SirPsycho - System.Attribute에서 확실히 상속 받았습니까? 'Attribute'라는 다른 클래스가 아닌가? –

관련 문제